Web 应用项目中引用的 dll 不需要本地,但除非使用复制到本地,否则不起作用
本文关键字:复制 不起作用 不需要 dll 应用项目 Web 引用 | 更新日期: 2023-09-27 18:33:23
我有一个框架 4.5 (C#) Web 应用程序项目,它正在使用另一个项目(框架 4.0 C#)dll。4.0 项目使用安装盾例程部署到目标服务器。所以在我的 4.5 项目中,我添加了 dll 作为参考,但我真的不想使用该 dll。我想使用目标服务器上安装的那个(我假设是 GAC)(这样我就可以根据需要更新 4.0 dll 项目)。但是我的 4.5 Web 应用程序不起作用,除非我对 4.0 DLL 引用使用"复制到本地???因此,它位于我的 4.5 Web 应用程序的 BIN 文件夹中。
4.0 项目 DLL 确实有一个 TLB 文件,但无法将其添加到我的 4.5 项目中,当尝试我得到
The "ActiveX type library ".." was not exported from a .NET assembly and cannot be added as a reference.
所以我通过浏览并选择 4.0 dll 添加 4.0 dll。
浏览到 dll 的位置和安装(4.0 项目)在我的开发计算机上与在目标服务器上安装的位置和安装相同。
我建议在您自己的计算机上安装 4.0 dll,就像在目标服务器上安装它一样。 然后,您应该不再需要引用它。
好吧,我检查了我的 Installshield 例程,我没有将 GAC 设置为目标位置。因为我最初为一些非常古老的技术开发了 4.0 DLL,只需要 COM 和本地文件夹即可保存。因此,我没有重做我的 IS 项目,而是移动了 GAC util(及其文件),因为它们不是通过框架(即 4.0)部署的(为什么什么都没有意义)。然后在 GAC 中注册了相同的 DLL,那么我不需要(在 VS2012 中)将资源保存到本地。