【问题标题】:.NET - Using embedded DLL as a reference in WCF.NET - 在 WCF 中使用嵌入式 DLL 作为参考
【发布时间】:2017-08-21 13:02:32
【问题描述】:

我有一个生成 DLL X 的 .NET 项目。该项目引用了第三方 DLL YX 在生成 DLL Z 的 WCF 项目中被引用。 我只能在服务器上部署 XZ,所以我将 Y 作为嵌入资源添加到名为 Resources 的文件夹中em> 到 WCF 项目 Z 并更改 web.config 文件如下:

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="Y" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed"/>
    <codeBase version="8.0.0.0" href="Resources/Y.dll"/>
  </dependentAssembly>
</assemblyBinding>

在运行时,项目找不到 Y.dll 文件,我得到 System.IO.FileNotFoundException 异常。

我可以改变什么来完成这项工作?

【问题讨论】:

    标签: .net vb.net wcf dll


    【解决方案1】:

    您不能嵌入程序集并期望它被引用。您必须将其部署到 bin 文件夹。因此,您需要进行的更改是将所有 3 个 dll 部署在 sam 文件夹中。

    从嵌入式资源加载文件的唯一可能方法 - 它必须以反射方式使用,这在您的情况下不起作用,因为您是 X.dll 依赖于 Y.dll

    Assembly.GetExecutingAssembly().GetManifestResourceStream(...)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-25
      • 1970-01-01
      • 1970-01-01
      • 2018-01-23
      • 1970-01-01
      • 1970-01-01
      • 2010-12-24
      相关资源
      最近更新 更多