Unit testing 无法在Azure函数的单元测试中加载文件或程序集System.Net.Http,版本=4.1.1.0
我有一个Azure功能项目(使用VS 2017 15.3.4创建)。我在同一个解决方案(4.6.1)中添加了一个单元测试项目。当我添加对Azure function项目的引用,并尝试运行我的简单测试用例时,我在执行MyFunction的run方法时出现了以下错误:“无法加载文件或程序集System.Net.Http,版本=4.1.1.0” 我试过很多方法,但似乎都不管用 我已尝试在app.config文件中添加绑定Unit testing 无法在Azure函数的单元测试中加载文件或程序集System.Net.Http,版本=4.1.1.0,unit-testing,azure,azure-functions,Unit Testing,Azure,Azure Functions,我有一个Azure功能项目(使用VS 2017 15.3.4创建)。我在同一个解决方案(4.6.1)中添加了一个单元测试项目。当我添加对Azure function项目的引用,并尝试运行我的简单测试用例时,我在执行MyFunction的run方法时出现了以下错误:“无法加载文件或程序集System.Net.Http,版本=4.1.1.0” 我试过很多方法,但似乎都不管用 我已尝试在app.config文件中添加绑定 <dependentAssembly> <assem
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
我曾尝试显式地为System.Net.http添加nuget包(从最新版本到后面的几个版本),但这也没有帮助
有人找到了解决办法吗
谢谢
Sanjay有一种方法可以做到这一点,但它并不完全简单:
- 创建一个单元测试(.NET核心)项目,而不是单元测试(.NET框架)。这迫使它使用新的项目系统
- 编辑单元测试项目的csproj
- 将
从
更改为netcoreapp2.0
。注意:您无法从VS UI更改此项,因此需要手动编辑李>net461
- 在VS中,添加对功能项目的引用
现在一切都会好得多。e、 g.查看完整样本。是的,这里似乎有问题。您介意在上打开一个问题并在此处发布链接吗?这将使我们更容易跟踪。当然,我们会这样做。我按照您的建议在github中创建了此问题。这是链接:阿汉,这是值得一试的。我确实尝试过创建netcore项目,但由于版本不匹配,当然并没有做得更多。我试试这个,然后告诉你是否有效。谢谢我现在需要使用VS2015,我已经安装了.NET Core 2.0平台来尝试解决方案,但是在“.NET Core”下没有可用的单元测试项目,因此如何使用此解决方案?Azure功能与工具仅适用于VS 2017,因此,我不知道如何在2015年实现这一点。我在VS2015中使用了这种方法:…通过测试项目获得了相同的异常,VS2015中不支持.NET核心单元测试项目吗?这是我们在获得VS2017支持之前作为权宜之计准备的手动工作流。它没有得到很好的支持。