c# - VS 安装程序项目没有拉入所有 system.io.compression
问题描述
我有一个在 .Net 4.6.1 上用 C# 编写的解决方案。这两个项目是 Windows 服务和 VS 安装程序。Windows 服务项目有很多引用,其中两个是 system.io.compression 和 system.io.compression.filesystem。
项目编译无误;但是,当我编译 VS 安装程序项目时,我收到 system.io.compression 的文件丢失错误。我刷新了依赖项,但引用仍然没有出现。为什么安装程序项目不从 Windows 服务项目中提取引用,而所有其他资源都可用?
我尝试删除并重新添加对 Windows 服务项目的引用
我尝试将 Windows 服务项目中引用的文件添加到文件系统 > 应用程序文件夹中,它编译时没有错误,但是在安装和运行时出现以下错误
System.IO.FileLoadException:无法加载文件或程序集“System.IO.Compression,Version=4.1.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT 异常:0x80131040)文件名:'System.IO.Compression,版本=4.1.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089' ---> System.IO.FileLoadException:无法加载文件或程序集'System. IO.Compression、Version=4.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT 例外:0x80131040)文件名:'System.IO.Compression,版本 = 4.0.0.0,文化 = 中性,PublicKeyToken = b77a5c561934e089' 警告:程序集绑定日志记录已关闭。要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) 设置为 1。注意:与程序集绑定失败日志记录相关的一些性能损失。要关闭此功能,请删除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。在 efaactagent.Jobitem.LogManagement() 的 efaactagent.Archive.Zip(String sourceFile, String destinationFile)
解决方案
检查所有项目中的 *.config 尝试删除所有绑定重定向并通过 PM> Get-Project –All | 重新生成它们 添加绑定重定向
推荐阅读
- django-models - 在 Django Admin 中管理外键关系
- qt - 多个安装目标的文件部分未正确部署到设备
- angular - 保存角度形式数据 - 弹簧靴杰克逊错误
- php - 为什么在“page.php”之后添加 url “/something/waterver”不会触发 404?
- javascript - 如果另一个元素已经聚焦,你如何聚焦 body 元素?
- python - 在训练有素的 LGBM 模型上测试新数据
- r - 使用来自其他两列的数据在 R 中创建一列
- html - 如何隐藏内容的内容(字体真棒)
- r - 如何使用 R/Shiny 更改 dateRangeInput 的样式/显示?
- java - 带有添加天数的常规字符串到日期转换