获取无法加载文件或程序集'系统.核心,Version = 4.0.0.0强生# 39;在asp.net core

本文关键字:强生 core net asp Version 核心 文件 加载 程序集 获取 系统 | 更新日期: 2023-09-27 18:11:26

我正在进行一个非常简单的单元测试。当我运行测试时,我得到异常无法加载文件或程序集"无法加载文件或程序集"。核心,Version = 4.0.0.0……"这个错误开始出现在我添加"Microsoft.NETCore.Portable"之后。兼容性":"1.0.1"在我的项目。json文件。但它是必需的,否则我不能在单元测试中使用lambda表达式。

在我的单元测试中没有编译时错误。我确信我的测试没有问题,是项目的问题。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"
}

获取无法加载文件或程序集'系统.核心,Version = 4.0.0.0强生# 39;在asp.net core

有同样的问题

解决了几个变化:

  1. 将Moq的依赖项更改为Moq.netcore(您还需要添加自定义的nuget feed "https://www.myget.org/F/aspnet-contrib/api/v3/index.json",在http://dotnetliberty.com/index.php/2016/02/22/moq-on-net-core/中找到)
  2. 删除了导入的dnx451 (net451在你的情况下),这个答案帮助了我很多:https://stackoverflow.com/a/39856247/1546582
  3. 删除链接到兼容性项目(你不需要它与moq.netcore)
  4. 添加对System.Diagnostics.TraceSource的引用(因为它没有被引用,但由于某种原因需要)

我的期末项目。Json看起来像:

{
  "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"
        }
      }
    }
  }
}