无法检索嵌入的资源流

时间:2015-03-30 11:01:57

标签: c# asp.net .net embedded-resource

使用Visual Studio 2012,我正在调试一个程序,以找出使用System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream加载资源文件的原因。该文件正在被正确复制到项目的bin文件夹中 - 但是调用System.Reflection.Assembly.GetExecutingAssembly().Location报告该程序没有从那里运行 - 它从C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\c37f9465\2be54367\assembly\dl3\c92e18ea\e852a1ef_ce6ad001开始运行。

该程序是一个Web服务,错误发生在名为ConnectSystem.DLL的DLL中(同一解决方案中的另一个项目),并且该文件位于Microsoft.NET文件夹中。

如果这是因为Dynamic ASP.NET Compilation,这看起来是最好的解释,那么有人可以想到我可以合并我的配置文件吗?

1 个答案:

答案 0 :(得分:1)

您尝试加载的资源不应该在程序集旁边,应该将其编译到程序集中。 GetManifestResourceStream仅从程序集本身读取资源。

您可以尝试将资源的构建操作设置为Embedded Resource,文件最终应该在程序集中。名称可能不同,通常它具有名称空间作为前缀。您可以使用Reflector查看实际名称。