C# ASP.NET-5测试库未发现主代码
我有一个类库,目标是C# ASP.NET-5测试库未发现主代码,c#,asp.net,asp.net-core,xunit.net,C#,Asp.net,Asp.net Core,Xunit.net,我有一个类库,目标是net451和dotnet5.4。这两个名字都是ASP.NET vNext中类库的推荐名字。但是,我的单元测试基于xUnit,因此必须针对dnx451和dnxcore50。然而,这导致我的测试项目没有发现我想要测试的类。它只是说不能解析符号 除了将我的类库重新定位到与我的测试项目相同的名字之外,有没有办法解决这个问题(这真是太愚蠢了,tbh) 以下是我的测试项目中的project.json: { "version": "1.0.0-*", "descripti
net451
和dotnet5.4
。这两个名字都是ASP.NET vNext中类库的推荐名字。但是,我的单元测试基于xUnit,因此必须针对dnx451
和dnxcore50
。然而,这导致我的测试项目没有发现我想要测试的类。它只是说不能解析符号
除了将我的类库重新定位到与我的测试项目相同的名字之外,有没有办法解决这个问题(这真是太愚蠢了,tbh)
以下是我的测试项目中的project.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);
}
}
}
正如我在前面的评论中所描述的,我也有这个问题。在我的例子中,问题在于ReSharper,因为项目仍将构建,我仍然可以使用F12导航。我注意到,在更新R#时,我收到了一个错误 CrossAppDomainPointer为空
在以管理员身份启动安装程序后,我通过重新安装R#解决了这个问题。希望这有帮助 你能分享一下你的测试项目的project.json是什么样子的吗?我把它添加到了主问题中,我还添加了主项目project.json文件我无法重新解释你看到的问题…那么对包
SemanticVersion
的引用是否按预期解决了?…project.json没有给出任何错误,如果你是这个意思的话。但是如果我写代码VS告诉我它不能解析符号。我用讨论中的代码编辑了原始问题。依赖关系是否真的被称为SemanticVersion
,或者这就是您使用的名称空间?这两个项目是同一VS解决方案的一部分吗?