无法检索嵌入的资源流

Unable to retrieve embedded resource stream

使用 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\c37f9465be54367\assembly\dl3\c92e18ea\e852a1ef_ce6ad001.

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

如果这是因为 Dynamic ASP.NET Compilation,这看起来是最好的解释,请问有人能想出办法合并我的配置文件吗?

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

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