我有一个C#项目,目标框架设置为.NET 4.5。由于某些奇怪的原因,所有引用都标有黄色警告三角形,如下所示。 我试过卸载并重新加载项目。我甚至尝试手动重新添加其中一个系统引用无济于事。
我得到的警告是:
警告13引用的组件' AutoMapper'无法找到。 Services.Contracts警告14引用的组件 ' AutoMapper.Net4'无法找到。 Services.Contracts 警告15引用的组件' log4net'无法找到。 Services.Contracts警告16引用的组件 ' Mindscape.LightSpeed'无法找到。 Services.Contracts 警告17引用的组件' Mindscape.LightSpeed.Linq'可以 找不到。 Services.Contracts警告18引用的组件 '系统'无法找到。 Services.Contracts警告19 引用的组件' System.Core'无法找到。 Services.Contracts警告25引用的组件' System.Data' 无法找到。 Services.Contracts警告24引用 组件' System.Data.DataSetExtensions'无法找到。 Services.Contracts Warning 20引用的组件 ' System.Runtime.Serialization'无法找到。 Services.Contracts 警告21引用的组件&System; ServiceModel'不可能 找到。 Services.Contracts警告22引用的组件 ' System.ServiceModel.Web'无法找到。 Services.Contracts 警告26引用的组件' System.Xml'无法找到。 Services.Contracts警告23引用的组件 ' System.Xml.Linq的'无法找到。 Services.Contracts
发生了什么事,我该如何解决这个问题?
答案 0 :(得分:30)
我有同样的问题,我从.csproj文件中删除了以下条目,它解决了我的问题。
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
答案 1 :(得分:0)
删除'EnsureNugetPackageBuildImports可能有效但根本原因,如@redcalx:Nuget.Targets文件所指出的那样缺失。
我关闭了我的解决方案并创建了一个名为.nuget的文件夹 然后从另一个文件夹复制:
注意:在我的nuget.config中,我有一个repositoryPath节点,指向c:\ packages \,这有助于将我的所有解决方案的包保存在一个文件夹中。
请记住,每次启动新的解决方案以复制.nuget文件夹时。