1

我有一个使用另一个项目(框架 4.0 C#)dll 的框架 4.5(C#)Web 应用程序项目。4.0 项目使用 installshield 例程部署到目标服务器。所以在我的 4.5 项目中,我添加了 dll 作为参考,但我真的不想使用那个 dll。我想使用在目标服务器上安装的那个(我假设是 GAC)(所以我可以根据需要更新 4.0 dll 项目)。但是除非我使用“复制到本地”作为 4.0 DLL 引用,否则我的 4.5 Web 应用程序不起作用???因此,它位于我的 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

2 回答 2

0

好吧,我检查了我的 Installshield 例程,我没有将 GAC 设置为目标位置。因为我最初为一些非常古老的技术开发了 4.0 DLL,只需要 COM 和一个本地文件夹来保存。因此,我没有重做我的 IS 项目,而是转移了 GAC 实用程序(及其文件),因为它们不是通过框架(即 4.0)部署的(为什么没有任何意义)。然后在 GAC 中注册相同的 DLL,然后我不需要(在 VS2012 中)将资源保存到本地。

于 2013-10-07T17:46:56.730 回答
0

我建议在您自己的机器上安装 4.0 dll,就像在目标服务器上安装它一样。然后,您应该不再需要引用它。

于 2013-09-30T14:27:12.127 回答