NuGet.targets"无法再次导入。它已被导入警告

时间:2014-07-23 14:25:30

标签: c# asp.net visual-studio-2013 nuget packages

我在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')" />

现在我看一下......看起来因为某种原因有两倍的东西?

3 个答案:

答案 0 :(得分:3)

没关系,看起来这只是TFS中的一些奇怪的合并问题,正在重复这些行。

答案 1 :(得分:2)

尽管这是一个老问题,但在将VS2015解决方案迁移到VS2017后,我遇到了完全相同的错误。 清理NuGet缓存解决了这个问题(见图)。

VS2017 (partial) settings dialog.

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