使用Visual Studio將資源嵌入到.NET程序集中時,它以程序集名稱作爲前綴。但是,程序集可以嵌入資源,而不是以彙編名作爲前綴。我能看到做到這一點的唯一方法是使用ILDASM反彙編程序集,然後重新組裝它,添加新的資源 - 哪些工作,但是...我真的需要完成這個句子嗎?將資源嵌入.NET程序集中而不使用匯編前綴?
(桌面的.NET Framework 3.5,Visual Studio 2008的SP1,C#,Windows 7企業版64位)
使用Visual Studio將資源嵌入到.NET程序集中時,它以程序集名稱作爲前綴。但是,程序集可以嵌入資源,而不是以彙編名作爲前綴。我能看到做到這一點的唯一方法是使用ILDASM反彙編程序集,然後重新組裝它,添加新的資源 - 哪些工作,但是...我真的需要完成這個句子嗎?將資源嵌入.NET程序集中而不使用匯編前綴?
(桌面的.NET Framework 3.5,Visual Studio 2008的SP1,C#,Windows 7企業版64位)
實際上,有一種方法,但您需要手動編輯.csproj。
在.csproj的文件,找到EmbeddedResource元素,看起來像下面這樣:
<EmbeddedResource Include="Resources\MyImage.png" />
添加LogicalName子元素,如下圖所示。
<EmbeddedResource Include="Resources\MyImage.png">
<LogicalName>MyImage.png</LogicalName>
</EmbeddedResource>
進行此更改後,可以將資源牽強,因爲「MyImage.png」 - 默認命名空間和文件夾的名稱被省略。
看起來像這種能力已經可用since 2005。
未裝配的名字 - 命名空間;)默認的命名空間,IIRC。前綴是默認名稱空間;)
很酷,謝謝!:-)這正是我去年需要知道的。我會牢記以備將來參考。 – 2011-10-06 06:25:19
絕妙的把戲!驚訝的Visual Studio 2010屬性表不包括這個選項! – 2013-09-24 02:04:48