【发布时间】:2014-04-25 17:34:48
【问题描述】:
我正在使用 C# WinForms 应用程序。我需要嵌入一个 .dll 并尝试将此文件从资源“导出”到 HDD。
我正在使用默认表单资源...
System.IO.Stream s = Assembly.GetExecutingAssembly().GetManifestResourceStream("FormNamespace.Form1.Newtonsoft_Json");
文件名是 Newtonsoft.Json.dll 我也试过了:
System.IO.Stream s = Assembly.GetExecutingAssembly().GetManifestResourceStream("FormNamespace.Form1.Newtonsoft.Json.dll");
两者都不起作用。 s 始终为空。 我认为我使用错误的方式访问资源,但我不知道:(
如果有人可以帮助我会很好:)
【问题讨论】:
-
你试过 Json.dll
System.IO.Stream s = Assembly.GetExecutingAssembly().GetManifestResourceStream("Json.dll");吗? -
错误地传递给 GetManifestResourceStream 的字符串是一个非常的常见问题。这就是为什么 Visual Studio 有资源设计器、项目 + 属性、资源选项卡的原因。您可以通过查看实际名称来调试它,在程序集上运行 ildasm.exe,双击清单并查看 .mresource 指令。不要在资源中隐藏可执行代码。
-
谢谢,稍后查看。
标签: c# .net stream embedded-resource