ASP.NET-5测试库未发现主代码

本文关键字:代码 未发现 NET-5 测试 ASP | 更新日期: 2023-09-27 18:24:28

我有一个以net451dotnet5.4为目标的类库。这两个名字都是ASP.NET vNext中类库的推荐名字。然而,我的单元测试是基于xUnit的,因此必须针对dnx451dnxcore50。然而,这导致我的测试项目没有发现我想要测试的类。它只是说无法解析Symbol

有没有办法绕过这一点,除了将我的类库重新定位为与我的测试项目相同的名字(这真的很愚蠢,tbh)

这是我的测试项目的项目.json

{
    "version": "1.0.0-*",
    "description": "Test Class Library",
    "authors": [ "Robert" ],
    "tags": [ "" ],
    "projectUrl": "",
    "licenseUrl": "",
    "dependencies": {
        "SemanticVersion": "1.0.0-*",
        "xunit": "2.1.0",
        "xunit.runner.dnx": "2.1.0-rc1-build204"
    },
    "commands": {
        "test": "xunit.runner.dnx"
    },
    "frameworks": {
        "dnx451": { },
        "dnxcore50": {
            "dependencies": {
                "Microsoft.CSharp": "4.0.1-beta-23516",
                "System.Collections": "4.0.11-beta-23516",
                "System.Linq": "4.0.1-beta-23516",
                "System.Runtime": "4.0.21-beta-23516",
                "System.Threading": "4.0.11-beta-23516"
            }
        }
    }
}

此外,以下是来自主库的project.json:

{
    "version": "1.0.0-*",
  "description": "SemanticVersion Class Library",
  "authors": [ "Robert" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",
  "frameworks": {
    "net451": { },
    "dotnet5.4": {
      "dependencies": {
        "Microsoft.CSharp": "4.0.1-beta-23516",
        "System.Collections": "4.0.11-beta-23516",
        "System.Linq": "4.0.1-beta-23516",
        "System.Runtime": "4.0.21-beta-23516",
        "System.Threading": "4.0.11-beta-23516"
      }
    }
  }
}

为了进行进一步的调试,下面是有问题的代码:

namespace Semver
{
    public class SemanticVersion
    {
        public int Major { get; set; }
        public int Minor { get; set; }
        public int Patch { get; set; }
        public string Prerelease { get; set; }
        public string Build { get; set; }
        public static SemanticVersion Parse(string versionString, bool strict = false)
        {
            // Code here
        }
    }
}
namespace SemanticVersionTest
{
    using Xunit;
    using Semver;
    public class ParseTests
    {
        [Fact]
        public void ParseMajor()
        {
            SemanticVersion version = SemanticVersion.Parse("1");
            Assert.Equal(1, version.Major);
            Assert.Equal(0, version.Minor);
            Assert.Equal(0, version.Patch);
        }
     }
}

ASP.NET-5测试库未发现主代码

正如我之前的评论中所描述的,我也遇到了这个问题。在我的案例中,问题是ReSharper,因为项目仍将构建,我仍然可以使用F12进行导航。我注意到,在更新R#时,我收到了一个错误

CrossAppDomainPointer为NULL。

在以管理员身份启动安装程序后,我通过重新安装R#解决了这个问题。希望这能有所帮助!