我在Visual Studio 2013中收到了一些关于我的一些项目的警告:
NuGet.targets" cannot be imported again. It was already imported
解决方案文件中的我的主WCF项目包含:
Project("{FAE04EC0-301F-11D3-BF4B-01C04F79EFBC}") = "WCF.Project", "Website\WCF.Project.csproj", "{AEFE3DD8-6E77-4449-9632-E2F0BADB6EBC}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{778ACFB4-FB04-4E26-93DD-260E7B406E48}"
ProjectSection(SolutionItems) = preProject
.nuget\NuGet.Config = .nuget\NuGet.Config
.nuget\NuGet.exe = .nuget\NuGet.exe
.nuget\NuGet.targets = .nuget\NuGet.targets
EndProjectSection
EndProject
在我的WCF项目文件中,它有:
<Import Project="$(SolutionDir).nuget\NuGet.targets" Condition="Exists('$(SolutionDir).nuget\NuGet.targets')" />
<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>
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
现在我看一下......看起来因为某种原因有两倍的东西?
答案 0 :(得分:3)
没关系,看起来这只是TFS中的一些奇怪的合并问题,正在重复这些行。
答案 1 :(得分:2)
尽管这是一个老问题,但在将VS2015解决方案迁移到VS2017后,我遇到了完全相同的错误。 清理NuGet缓存解决了这个问题(见图)。
HTH!
修改:构建多个项目时重新出现问题。因此,可能更好的方法是将所有源移动到具有(可能!)相同名称或至少相同名称空间/程序集名称的新项目。比较转换/生成的VS2015和VS2017 .csproj文件在VS2017中显示了更简洁的项目结构,即使在下载缺少的NuGets之后,也不确定是否值得编辑每个.csproj而不是用新生成的替换它。
答案 2 :(得分:0)
For others that maybe have this problem (like me) perhaps this will help:
(uninstall other VS or clean props folders)
VS Community - Nuget: targets and props warning about cannot be imported again