msbuild - Autofac 和 Microsoft.Bcl.AsyncInterfaces
问题描述
Visual Studio 2019 提供了一个未公布的4.700.19.56404版本Microsoft.Bcl.AsyncInterfaces
:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Bcl.AsyncInterfaces
Autofac 接受此软件包的 1.1.0 或更高版本。但是,如果我尝试将 Microsoft.Bcl.AsyncInterfaces Nuget 包更新到最新版本 (5.0.0),我会开始遇到包被解析为 4.700.19.56404 版本的问题,因为:
21> Dependency "Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51".
21> Resolved file path is "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Microsoft.Bcl.AsyncInterfaces.dll".
21> Considered "C:\<repo-location>\bin\Debug\Microsoft.Bcl.AsyncInterfaces.dll",
21> but its name "Microsoft.Bcl.AsyncInterfaces, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"
21> didn't match the expected name "Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51".
当然,在尝试运行时,由于Microsoft.Bcl.AsyncInterfaces
无法加载而出现运行时错误。
我想最明显的问题是是否有办法通过 msbuild 解决这个问题,例如,某些目标可以在构建时将依赖关系解析为 5.0.0,而不是 4.700.19.56404。
否则,我认为这可以通过让 Autofac 将其Microsoft.Bcl.AsyncInterfaces
依赖关系更新为 5.0.0 而不是 1.1.0 来解决。不确定这是否可行。
解决方案
推荐阅读
- c# - 如何使我的 Firebase 实时数据库规则正常工作?
- python - 避免 if 语句之间的交互
- php - 如何在 2 个类 PHP 中通过 2 个函数返回 mysqli connect_error
- python - 处理嵌套字典的最佳实践?
- spring - 我无法从数据库中检索数据列表
- javascript - 如何在javascript中将输入字节流转换为base 64字符串?
- python - 从python中的json中提取数据作为浮点数
- teamcity - TeamCity:如何从构建中创建自定义统计信息
- python - 以word2vec格式创建文件以传递给spacy init模型的最佳方法?
- python - 如何使用 Pyqt5 QtMultimedia 播放声音?