C# 获取无法加载文件或程序集';System.Core,版本=4.0.0.0..';在asp.net内核中使用moq进行单元测试时
我正在进行一个非常简单的单元测试。当我运行测试时,出现异常无法加载文件或程序集“无法加载文件或程序集”System.Core,Version=4.0.0.0..”此错误是在我在Project.json文件中添加了“Microsoft.NETCore.Portable.Compatibility”:“1.0.1”后开始出现的。但它是必需的,否则我不能在单元测试中使用lambda表达式 在我的单元测试中没有编译时错误。我确信我的测试没有任何错误,因为project.json文件缺少一些东西。下面是我的测试C# 获取无法加载文件或程序集';System.Core,版本=4.0.0.0..';在asp.net内核中使用moq进行单元测试时,c#,asp.net,unit-testing,asp.net-core,project.json,C#,Asp.net,Unit Testing,Asp.net Core,Project.json,我正在进行一个非常简单的单元测试。当我运行测试时,出现异常无法加载文件或程序集“无法加载文件或程序集”System.Core,Version=4.0.0.0..”此错误是在我在Project.json文件中添加了“Microsoft.NETCore.Portable.Compatibility”:“1.0.1”后开始出现的。但它是必需的,否则我不能在单元测试中使用lambda表达式 在我的单元测试中没有编译时错误。我确信我的测试没有任何错误,因为project.json文件缺少一些东西。下面是我
Mock<RegistrationManager> manager = new Mock<RegistrationManager>();
Mock<RegistrationModel> model = new Mock<RegistrationModel>();
var value = manager.Setup(a => a.GetDataFieldValuesForModel(model.Object, CommandType.next)).ReturnsAsync(new RegistrationModel { hasError = false, FormId="123",LeadId="345" });
{
"version": "0.1.0-*",
"dependencies": {
"Moq": "4.5.22",
"xunit": "2.2.0-beta2-build3300",
"dotnet-test-xunit": "2.2.0-preview2-build1029",
"IntegraPay.Domain": {
"version": "1.0.0-*",
"target": "project"
},
"Integrapay.RegistrationApplication": {
"version": "",
"target": "project"
},
"Microsoft.NETCore.Portable.Compatibility": "1.0.1"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"net451"
],
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
}
}
},
"testRunner": "xunit"
}
Mock manager=new Mock();
模拟模型=新模拟();
var value=manager.Setup(a=>a.GetDataFieldValuesForModel(model.Object,CommandType.next)).ReturnsAsync(新注册模型{hasError=false,FormId=“123”,LeadId=“345”});
{
“版本”:“0.1.0-*”,
“依赖项”:{
“最低起订量”:“4.5.22”,
“xunit”:“2.2.0-beta2-build3300”,
“dotnet测试xunit”:“2.2.0-preview2-build1029”,
“IntegraPay.Domain”:{
“版本”:“1.0.0-*”,
“目标”:“项目”
},
“Integrapay.RegistrationApplication”:{
“版本”:“,
“目标”:“项目”
},
Microsoft.NETCore.Portable.Compatibility:“1.0.1”
},
“框架”:{
“netcoreapp1.0”:{
“进口”:[
“net451”
],
“依赖项”:{
“Microsoft.NETCore.App”:{
“类型”:“平台”,
“版本”:“1.0.0”
}
}
}
},
“testRunner”:“xunit”
}
也有同样的问题
通过几处改动解决了这个问题:
{
"version": "1.0.0-*",
"dependencies": {
"NUnit": "3.5.0",
"dotnet-test-nunit": "3.4.0-beta-2",
"MyTestingProject": "1.0.0-*",
"Moq.netcore": "4.4.0-beta8",
"System.Diagnostics.TraceSource": "4.0.0"
},
"testRunner": "nunit",
"frameworks": {
"netcoreapp1.0": {
"imports": [
"netcoreapp1.0",
"dnxcore50"
],
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
}
}
}
}
}
有同样的问题
通过几处改动解决了这个问题:
{
"version": "1.0.0-*",
"dependencies": {
"NUnit": "3.5.0",
"dotnet-test-nunit": "3.4.0-beta-2",
"MyTestingProject": "1.0.0-*",
"Moq.netcore": "4.4.0-beta8",
"System.Diagnostics.TraceSource": "4.0.0"
},
"testRunner": "nunit",
"frameworks": {
"netcoreapp1.0": {
"imports": [
"netcoreapp1.0",
"dnxcore50"
],
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
}
}
}
}
}
我记得当我过去常常遇到这个错误时,我唯一能修复它的方法就是以管理员权限启动VS(我的IDE);这是一个相当普遍的错误,有大量不同的变量影响问题。。。您是否可以尝试将一小部分代码移动到一个全新的项目中,该项目包含您需要的所有依赖项,然后重试?您是否可以发布测试项目和测试项目的project.json文件?@maxspan Ah ok。我使用的是VS2017,尽管我没有使用Moq,但仍然会遇到这个缺少的引用的问题。我记得当我以前遇到这个错误时,唯一可以修复它的方法是使用管理员权限启动VS(我的IDE)。它仍然失败。不幸;这是一个相当普遍的错误,有大量不同的变量影响问题。。。您是否可以尝试将一小部分代码移动到一个全新的项目中,该项目包含您需要的所有依赖项,然后重试?您是否可以发布测试项目和测试项目的project.json文件?@maxspan Ah ok。我正在使用VS2017,尽管我没有使用Moq,但仍然会遇到缺少参考的问题。