gpt4 book ai didi

.net - 无法加载文件或程序集System.ComponentModel.Annotations,版本=4.2.0.0

转载 作者:行者123 更新时间:2023-12-03 08:52:45 26 4
gpt4 key购买 nike

我意识到有人问了这个问题,但我已经尝试了我能找到的所有建议解决方案。

我有一个负载测试项目(带有一个.loadtest 文件和继承自Microsoft.VisualStudio.TestTools.WebTesting.WebTest 的类)。它必须针对 .Net Framework(版本 4.6.1)而不是 .Net Core。

它引用了一个面向 .Net Standard 2.0 的项目,并且加载项目和 .Net Standard 项目都添加了 System.ComponentModel.Annotations(版本 4.5.0)Nuget 包。

当我尝试运行负载测试本身时,收到以下异常:

System.IO.FileNotFoundException
Message=Could not load file or assembly 'System.ComponentModel.Annotations, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

我尝试将 app.config 文件添加到带有绑定(bind)重定向的负载测试项目中,但这对异常没有影响。

我无法降级到 NuGet 包的 4.4.1 版本,因为其他地方的其他项目依赖于它的 4.5 版本。

I have read that there is a problem with the versioning in this package 。事实上,当我检查构建的 .Net Standard 项目 dll 的依赖项时,它似乎不是针对指定的 4.5.0,而是针对版本 4.2.0.0。

enter image description here

现在,我可以通过删除 NuGet 包引用并在 Packages 文件夹中添加对 dll 的手动引用来强制项目使用正确的版本(似乎是 4.2.1.0),然后是链下的另一个项目拒绝接受我给它的 hintPath,并且默认为不同的位置和版本:

enter image description here

所以我不能强制我需要的所有项目使用我想要的 dll 的实际版本和位置。

只是想知道是否有人可以提出任何可能有帮助的行动方案,因为我对如何强制整个事情使用正确的版本有点茫然。通过绑定(bind)重定向,或者让所有项目接受我提供的 dll 路径。

最佳答案

我最近也遇到过这种情况。我通过将 .NET 框架增加到目标 >= 4.7.2 并将 AutoGenerateBindingRedirects、GenerateBindingRedirectsOutputType 设置为 true 来修复此错误。

<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>

因此,如果它仍然相关,请考虑更改目标框架。

关于.net - 无法加载文件或程序集System.ComponentModel.Annotations,版本=4.2.0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57910513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com