我使用.NET标准DLL编写了一个有效的ASP.NET核心。我现在想在我的DLL中使用TransactionScope
,但是遇到了这个问题:
.NET Standard和.NET Core 2.0都识别System.Transactions,但.NET Framework 4.6.1发出错误,不会使用MSBuild进行编译。 Visual Studio 2017提供以下有用信息:
我似乎找不到强制项目从系统的Framework / Framework64文件夹中识别System.Transactions.dll的方法。
是的,我可以使用dotnet build
来编译.NET Core版本,但这不是我想要的......我希望能够为.NET 4.6.1编译。
答案 0 :(得分:3)
您需要添加一个以目标框架为条件引用的框架。
将此添加到您的csproj文件中:
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
<Reference Include="System.Transactions" />
</ItemGroup>