【发布时间】:2017-12-30 16:44:27
【问题描述】:
我正在尝试让 .Net Framework 和 NetStandard 程序集相互通信(以了解可能的情况)。我目前有四个项目,两个 Framework 4.5.2 项目和两个 NetStandard1.2 项目:
Framework452.LibraryNetStandard12.CentralLibraryNetStandard12.BaseLibraryFramework452.Tests
引用结构为:
-
Framework452.Tests引用NetStandard12.CentralLibrary:通过将 NetStandard.Library nuget 包添加到Framework452.Tests来工作。 -
NetStandard12.CentralLibrary引用NetStandard12.BaseLibrary:无需修改即可工作。 -
NetStandard12.CentralLibrary引用Framework452.Library:即使Framework452.Library安装了 NetStandard.Library nuget 包,也无法正常工作。
NetStandard 项目可以参考框架项目吗?如果是这样,我需要做什么才能让他们交流?目前我可以添加引用,但它对代码不可见。
更新
我重新创建了解决方案并添加了以下代码,当我尝试编译时,Framework452.Tests 项目出现以下错误:
错误 CS0006:元数据文件 '~\TryNETStandard\NetStandard12.CentralLibrary\bin\Debug\netstandard1.2\NetStandard12.CentralLibrary.dll' 找不到。
namespace Framework452.Library
{
public class Returner452 {
public static bool ReturnTrue() { return true; }
}
}
using Xunit;
namespace Framework452.Tests
{
public class Class1 {
[Fact]
public void FrameworkTest() {
Assert.True(NetStandard12.CentralLibrary.Class1.Return452());
}
[Fact]
public void NetStandardTest() {
Assert.True(NetStandard12.CentralLibrary.Class1.Return12());
}
}
}
namespace NetStandard12.BaseLibrary
{
public class Returner12 {
public static bool ReturnTrue() { return true; }
}
}
using Framework452.Library;
using NetStandard12.BaseLibrary;
namespace NetStandard12.CentralLibrary
{
public class Class1
{
public static bool Return452() { return Returner452.ReturnTrue(); }
public static bool Return12() { return Returner12.ReturnTrue(); }
}
}
【问题讨论】:
标签: c# .net frameworks .net-standard .net-framework-version