我有一個xml文件作爲Project_A中的嵌入式資源。我可以在同一解決方案中訪問另一個項目的嵌入式資源嗎?
我想從Project_B中引用Project_A來訪問此嵌入式資源。
(基本上Project_B包括單元測試,我用ReSharper的運行它們。)
是否有可能當我在Project_B工作訪問Project_A的嵌入式資源?
或者一般情況下,我可以在同一解決方案中使用另一個項目中的其他項目的嵌入式資源嗎?
我有一個xml文件作爲Project_A中的嵌入式資源。我可以在同一解決方案中訪問另一個項目的嵌入式資源嗎?
我想從Project_B中引用Project_A來訪問此嵌入式資源。
(基本上Project_B包括單元測試,我用ReSharper的運行它們。)
是否有可能當我在Project_B工作訪問Project_A的嵌入式資源?
或者一般情況下,我可以在同一解決方案中使用另一個項目中的其他項目的嵌入式資源嗎?
是的,你可以。下面是一個例子,你如何能得到嵌入的資源System.Timers.Timer.bmp
內的.NET框架的System.dll
:
using (Stream stream = typeof(System.Timers.Timer).Assembly.
GetManifestResourceStream("System.Timers.Timer.bmp"))
{
using (Bitmap bitmap = new Bitmap(stream))
{
//bitmap.Dump();
}
}
...或獲取資源名稱的列表:
string[] names = typeof(System.Timers.Timer).Assembly.GetManifestResourceNames();
.. 。只需將typeof(System.Timers.Timer)
替換爲包含嵌入式資源的程序集中的類型。
Visual Studio爲您的嵌入式資源自動創建的類是內部類。
該類無法從其他程序集訪問。
您可以:
您是否嘗試在」表「視圖中打開嵌入式資源(雙擊Visual Studio中的Resources.resx文件)並更改頂部s中的「訪問修飾符」旅行(「字符串」,「添加資源」,「移除資源」等)放置到公衆而不是內部?
在VS2010#1中不起作用。添加新資源會導致資源類被重新設置爲內部資源。 –