2011-05-26 102 views
4

假設我有一個目錄A,並且在該目錄中有一個項目文件x.csproj和sln。 我也有資源文件x.resources。如何設置相對於項目文件的資源文件路徑?

如何設置資源文件沒有絕對路徑C:\A\x.resources,但相對路徑.\x.resources?我嘗試了x.resources但它不起作用。

enter image description here

+1

你是什麼意思的「不工作」?它給你什麼錯誤? – 2011-05-26 15:18:19

回答

6

剛剛遇到同樣的問題。我的同事甚至沒有嘗試修復它在UI只是砍死的csproj文件中的文本編輯器:

的csproj路徑:C:\富\酒吧\ SolutionNm \ ProjectNm \ ProjectNm.csproj

RES路徑:C:\ FOO \條\ Icons.res

原件:

<PropertyGroup> 
    <Win32Resource>C:\foo\bar\Icons.res</Win32Resource> 
    </PropertyGroup> 

修改:

<PropertyGroup> 
    <Win32Resource>..\..\Icons.res</Win32Resource> 
    </PropertyGroup> 

只要你不要試圖再次修改UI中的價值,也不會抱怨

乾杯, 亞倫

1

我意識到提問者是使用.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文件所在的目錄路徑

0

注意。:Visual Studio有時會在.csproj中過早放置<PropertyGroup> <Win32Resource>,因此您需要手動編輯XML和m在<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />元素後面的<PropertyGroup>,所以引用將相對於.csproj文件。