我試圖調試實體框架錯誤:無法加載指定的元數據資源。有沒有辦法看到.net dll中的資源
所有常見的修補程序都不適合我,我想實際上看看.csdl,.ssdl和.msl文件是否在資源中(就像它們應該是的一樣)。
如果你知道一個免費的工具,可以做到這一點,請回答它。
注意:我無權訪問Red Gates Reflector。我嘗試了Resharper的新dotPeek,但它只是顯示代碼,而不是資源。
任何想法如何我可以得到這些資源,據推測在我的DLL?
我試圖調試實體框架錯誤:無法加載指定的元數據資源。有沒有辦法看到.net dll中的資源
所有常見的修補程序都不適合我,我想實際上看看.csdl,.ssdl和.msl文件是否在資源中(就像它們應該是的一樣)。
如果你知道一個免費的工具,可以做到這一點,請回答它。
注意:我無權訪問Red Gates Reflector。我嘗試了Resharper的新dotPeek,但它只是顯示代碼,而不是資源。
任何想法如何我可以得到這些資源,據推測在我的DLL?
我不知道爲什麼@George刪掉了他的答案,因爲ILDASM會確實向您展示了彙編清單中的資源:
.mresource public Model.csdl
{
// Offset: 0x00000000 Length: 0x00000394
}
.mresource public Model.ssdl
{
// Offset: 0x00000398 Length: 0x00000352
}
.mresource public Model.msl
{
// Offset: 0x000006F0 Length: 0x000002B7
}
無論如何,你花時間等待答案,而不是思考你已有的工具。如何編寫簡單的控制檯應用程序,它只會顯示你的程序集中包含的資源?
using System;
using System.Reflection;
namespace AssemblyBrowser
{
class Program
{
static void Main(string[] args)
{
if (args.Length != 1)
{
System.Console.WriteLine("Provide path to assmebly!");
return;
}
try
{
var assembly = Assembly.LoadFrom(args[0]);
foreach (var name in assembly.GetManifestResourceNames())
{
Console.WriteLine("Resource: {0}", name);
}
}
catch (Exception e)
{
Console.WriteLine("Error: {0}", e.Message);
}
}
}
}
即使你可能無法獲得反射器,它們提供產品的試用14天(假設你沒有這樣做) – Jesse
而你將花費即使是標準版本是這麼便宜的多單人酒吧參觀...... –
JetBrain的Resharper dotPeek現在支持查看資源。 – Benjamin