我试图调试实体框架错误:无法加载指定的元数据资源。有没有办法看到.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