我有一个名为&#34的NuGet包; Contoso.Library"目标文件:" /build/Contoso.Library.targets"
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<DotNetCliToolReference Include="dotnet-xunit" Version="2.3.0" />
</ItemGroup>
</Project>
但是,当我尝试构建包含此项目的项目时,我收到以下错误:
导入文件&#34; C:\ Program Files \ dotnet \ sdk \ 2.1.2 \ Sdks \ Microsoft.NET.Sdk \ Sdk \ Sdk.targets&#34;进入文件&#34; C:\ Users \ rb.nuget \ packages \ contoso.library \ 1.0.0 \ build \ contoso.library.targets&#34;导致循环依赖。 C:\ Users \用户rb.nuget \包\ contoso.library \ 1.0.0 \构建\ contoso.library.targets
我已确认如果我将目标文件重命名为&#34; contoso.library.targets.xxx&#34;这个错误消失了,证明目标文件是问题所在。
供参考,这是使用Contoso.Library的项目的项目文件:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net46</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Contoso.Library" Version="1.0" />
</ItemGroup>
</Project>
答案 0 :(得分:0)
事实证明答案实际上非常简单 - 只需从目标文件中的Project元素中删除“Sdk”属性:
<Project Sdk="Microsoft.NET.Sdk">
变为
<Project>
答案 1 :(得分:0)
相同的错误和相同的解决方案(感谢@RB。!),但是我使用的是Directory.Build.props
文件而不是目标文件。
我的错误:
导入文件“ C:\ Program Files \ dotnet \ sdk \ 3.1.401 \ Sdks \ Microsoft.NET.Sdk \ Sdk \ Sdk.props” 文件“ << em> snip > \ Directory.Build.props”会产生一个循环 依赖
确切的解决方案:
我从Sdk="Microsoft.NET.Sdk"
中删除了Directory.Build.props
属性,并且项目重建正确。
HTH!