Visual Studio 2008 安装项目安装错误: "Could not load file or assembly"



我有一个问题,显然很多人也有,只是对别人有效的还没有对我有效。下面是设置:

VS2008解决方案,包含5个项目,全部针对。net 2.0:

  1. DLL A,没有项目引用
  2. DLL B,引用DLL A
  3. Windows窗体应用程序,引用DLL B
  4. Windows Service,引用DLL B
  5. 项目置>

想要发生的是DLL A和DLL B被安装到GAC,但我在安装时得到一个错误:

错误1001。无法加载文件或程序集'DLL_B',版本1.0.0.1,文化=中性,PublicKeyToken=5e297270603814f4'或其依赖项之一。系统找不到指定的文件。

根据我在这里、这里和其他一些网站上看到的内容,我整理了以下内容,顺序不分先后:

  • 重新引用我项目中的所有内容
  • 将编译的exe手动添加到安装项目中(而不是使用'Primary Output'…DLL A和DLL B显示为"检测到的依赖项")
  • 在设置项目中->发射条件->设置。net Framework为2.0
  • 在设置项目中->文件系统->请求将检测到的依赖项安装到全局程序集缓存文件夹

所以,我可能错过了什么。有人能告诉我那是什么吗?

提前感谢。

听起来你正在使用一个InstallUtil自定义操作来安装和启动你的windows服务,并且这个windows服务在GAC中有一个依赖项。这是windows安装程序的一个已知限制,即WinSXS和GAC的文件直到提交阶段才安装,这是在您的自定义操作启动(延迟阶段)之后

首先,您应该知道InstallUtil自定义操作非常脆弱,并且有更好的方法来做到这一点。其次,您将永远无法解决我上面描述的问题,除非a)将服务设置为Auto并重新启动或b)不将程序集安装到GAC。

相关内容

最新更新