多标准.NET Standard 2.0缺少一些框架库

时间:2018-01-28 22:35:09

标签: msbuild visual-studio-2017 .net-standard-2.0

我使用.NET标准DLL编写了一个有效的ASP.NET核心。我现在想在我的DLL中使用TransactionScope,但是遇到了这个问题:

.NET Standard和.NET Core 2.0都识别System.Transactions,但.NET Framework 4.6.1发出错误,不会使用MSBuild进行编译。 Visual Studio 2017提供以下有用信息:

evil tooltip

我似乎找不到强制项目从系统的Framework / Framework64文件夹中识别System.Transactions.dll的方法。

是的,我可以使用dotnet build来编译.NET Core版本,但这不是我想要的......我希望能够为.NET 4.6.1编译。

1 个答案:

答案 0 :(得分:3)

您需要添加一个以目标框架为条件引用的框架。

将此添加到您的csproj文件中:

<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
  <Reference Include="System.Transactions" />
</ItemGroup>