问题描述
|
假设我有一个目录A,并且在该目录中有一个项目文件x.csproj和sln。
我也有资源文件x.resources。
如何在没有绝对路径“ 0”但相对路径为“ 1”的情况下设置资源文件?我尝试使用
x.resources
,但是它不起作用。
解决方法
只是遇到了同样的问题。我的同事甚至没有尝试在UI中修复它,只是在文本编辑器中入侵了CSPROJ文件:
CSPROJ路径:C:\\ foo \\ bar \\ SolutionNm \\ ProjectNm \\ ProjectNm.csproj
解析路径:C:\\ foo \\ bar \\ Icons.res
原版的:
<PropertyGroup>
<Win32Resource>C:\\foo\\bar\\Icons.res</Win32Resource>
</PropertyGroup>
改性:
<PropertyGroup>
<Win32Resource>..\\..\\Icons.res</Win32Resource>
</PropertyGroup>
只要您不尝试再次修改UI中的值,它都不会抱怨
干杯,
亚伦
,我意识到,问询者使用的是.NET,但正如FYI一样,对于C ++项目,您必须编辑VCXPROJ文件,并且资源以略有不同的格式存储在文件底部附近。
原版的:
<ItemGroup>
<Image Include=\"C:\\projects\\dragdroptree\\DragDropView\\res\\bmp00001.bmp\" />
<Image Include=\"C:\\projects\\dragdroptree\\DragDropView\\res\\toolbar1.bmp\" />
</ItemGroup>
改性:
<ItemGroup>
<Image Include=\"res\\toolbar.bmp\" />
<Image Include=\"res\\bmp00001.bmp\" />
</ItemGroup>
为了澄清起见,您在其中放置的路径是相对于VCXPROJ文件所在的目录的。
,注意:Visual Studio有时会将ѭ7放在.csproj中太早,因此您需要手动编辑XML并将<PropertyGroup>
移到<Import Project=\"$(MSBuildBinPath)\\Microsoft.CSharp.targets\" />
元素之后,以便引用将相对于.csproj文件。