找不到导入的项目“C:\ Microsoft.CSharp.targets”

时间:2008-08-08 05:08:45

标签: c# visual-studio

我尝试在Visual Studio 2005中打开Visual Studio 2008 项目时遇到此错误:

  

找不到导入的项目“C:\ Microsoft.CSharp.targets”。

17 个答案:

答案 0 :(得分:108)

在记事本(或记事本++)中打开csproj文件 找到这一行:

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

并将其更改为

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

答案 1 :(得分:48)

  

这是一个全局解决方案,不依赖于特定的包或bin。

就我而言,我从根目录中删除了 Packages 文件夹。

  

也许是因为你的软件包在那里,但编译器没有找到它的参考。所以先删除旧包,然后添加新包。

添加新软件包的步骤

  • 首先删除,打包文件夹(它将靠近或当前项目文件夹一步)。
  • 然后重新启动项目或解决方案。
  • 现在,重建解决方案文件。
  • 项目将获得nuGet包管理器的新参考。而你的问题已经解决了。

这不是正确的解决方案,但是我在这里发布了它,因为我面临同样的问题。

在我的情况下,我甚至无法在visual studio中打开我的解决方案,也没有得到任何有关上述答案的帮助。

答案 2 :(得分:14)

对我来说,问题是项目的路径包含%20个字符,因为git在克隆存储库时添加了那些而不是空格。另一个问题可能是如果包的路径太长。

答案 3 :(得分:11)

这个link on MSDN也有助于理解它不起作用的原因。 $(MSBuildToolsPath)是Microsoft.Build.Engine v3.5的路径(在VS2008中创建时自动插入项目文件中)。如果您尝试为.Net 2.0构建项目,请确保将此路径更改为$(MSBuildBinPath),这是Microsoft.Build.Engine v2.0的路径。

答案 4 :(得分:9)

在我的情况下,我无法在我的解决方案中加载一个 5个项目

帮助关闭Visual Studio ,我不得不在Microsoft.Net.Compilers.1.3.2文件夹下删除 packages nuget文件夹。

然后,再次打开您的解决方案并按预期加载项目

为确保在删除文件夹之前关闭VS的所有实例。

答案 5 :(得分:6)

我以前在csproj文件中有以下这一行:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

删除此文件后,它可以正常工作。

答案 6 :(得分:5)

如果您遇到Microsoft.CSharp.Core.targets not found的错误,这些是我纠正错误的步骤:

  1. 打开任何以前的工作项目文件夹并导航到错误中显示的链接,即Projects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/并搜索Microsoft.CSharp.Core.targets文件。

  2. 复制此文件并将其放入非工作项目tools folder(即导航到非工作项目中的tools文件夹,如上所示)

  3. 现在关闭您的项目(如果已打开)并重新打开它。

  4. 现在应该可以了。

    另外,要确保在现在打开的Visual Studio项目中一切正常,请转到Tools > NuGetPackage Manager > Manage NuGet Packages For Solution。在这里,您可能会发现一个错误,即其他应用程序正在使用CodeAnalysis.dll。

    再次,转到tools folder,找到指定的文件并将其删除。回到Manage NuGet Packages For Solution。您将找到一个链接,要求您重新加载,单击它并重新安装所有内容。

    您的项目现在应该正常运作。

答案 7 :(得分:3)

重新安装Windows后我得到了这个。安装了Visual Studio,我可以在New Project窗口中看到Silverlight项目类型,但打开一个不起作用。解决方案很简单:我必须安装Silverlight Developer运行时和/或用于Visual Studio的Microsoft Silverlight 4工具。这可能看起来很愚蠢,但我忽略了它,因为我认为它应该可行,因为Silverlight项目类型可用。

答案 8 :(得分:2)

  

好吧如果这样说:在...之间   gt / lt标志

     

导入   项目= “$(MSBuildExtensionsPath)\微软\ Silverlight的\ 3.0 \ Microsoft.Silverlight.CSharp.targets”   /

     

如何修复目标错误?

我还发现在演示项目中导入字符串(特别是Rob Eisenburg的“构建你自己的MVVM框架”)。

如果您将该导入替换为lomaxx建议的VS2010 RTM报告您需要安装this

答案 9 :(得分:2)

就我而言,我在记事本中打开了我的.csproj文件并删除了以下三行。工作就像一个魅力:

<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" />

答案 10 :(得分:2)

对于Microsoft.WebApplications.targets的错误,您可以:

  1. 在TFS服务器中安装Visual Studio 2010(或与开发计算机中的版本相同)。
  2. 将“Microsoft.WebApplication.targets”从开发计算机文件复制到TFS构建计算机。
  3. Here's帖子。

答案 11 :(得分:1)

在安装SL 5的同时打开SL 4中构建的Silverlight项目时,也会发生此错误。

以下是一个示例错误消息:找不到导入的项目“C:\ Program Files(x86)\ MSBuild \ Microsoft \ Silverlight \ v4.0 \ Microsoft.Silverlight.CSharp.targets”。

请注意v4.0。

要解决,请编辑项目并找到:

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

并将其更改为v5.0。

然后重新加载项目,它将打开(除非您没有安装SL 5)。

答案 12 :(得分:0)

我删除了obj文件夹,然后按预期加载项目。

答案 13 :(得分:0)

我在执行Ansible剧本时遇到了这个问题,所以我想在这里加2美分。我注意到有关丢失Visual Studio 14的警告消息。Visual Studio版本14于2015年发布,解决此问题的方法是在Azure DevOps代理的主机上安装Visual Studio 2015 Professional。

答案 14 :(得分:0)

尝试还原后,关闭VS,删除失败的软件包,重新打开,尝试还原,多次,我只是删除了软件包中的所有内容,当我进行还原时,效果很好。

答案 15 :(得分:0)

有时问题可能出在.csproj文件中的硬编码VS版本。如果你的csproj有这样的东西:

[...]\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets"

您应该检查数字是否正确(错误的原因可能是项目是使用其他版本的Visual Studio创建的)。如果错误,请将其替换为当前版本的构建工具或使用VS变量:

[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets"

答案 16 :(得分:0)

对我来说,问题是路径.. 克隆名称中有空格的项目时。项目文件夹被命名为 "Sample%20-%205" 而不是它应该的名字:"Sample - 5"

打开项目没问题,但构建失败

<块引用>

找不到文件: /packages/Microsoft.Net.Compilers.1.3.2/tools/Microsoft.CSharp.Core.targets