未find导入的项目“C:\ Microsoft.CSharp.targets”

我今天尝试在Visual Studio 2005中打开一个Visual Studio 2008 项目时出现这个错误:

未find导入的项目“C:\ Microsoft.CSharp.targets”。

在记事本(或记事本++)中打开您的csproj文件find该行:

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

并将其更改为

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

这是一个全球性的解决scheme,不依赖于特定的软件包或bin。

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

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

添加新软件包的步骤

  • 首先删除软件包文件夹( 它将在您当前的项目文件夹附近或一步到达 )。
  • 然后重新启动项目或解决scheme。
  • 现在,重build解决scheme文件。
  • 项目将从nuGet包pipe理器获得新的参考。 而你的问题已经解决了。

这不是合适的解决scheme,但我在这里发布,因为我面临同样的问题。

就我而言, 我甚至无法在Visual Studio中打开我的解决scheme,也没有得到上述答案的帮助。

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

我曾经在csproj文件中有下面这行:

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

删除这个文件后,它工作正常。

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

如果您遇到Microsoft.CSharp.Core.targets没有find的错误,这些是我采取纠正我的步骤。 打开任何以前的工作项目文件夹并导航到错误中显示的链接,即项目/(工作项目名称)/packages/Microsoft.Net.Compilers.1.3.2/tools/并searchMicrosoft.CSharp.Core.targets文件。 复制这个文件,并把它放在非工作项目的“工具文件夹”(即导航到非工作项目中的工具文件夹,如上所示)现在closures你的项目(如果它是打开的)并重新打开它。 它应该现在工作。 此外,为了确保在您现在打开的Visual Studio项目中一切正常,转到Tools – NuGetPackage Manager – pipe理NuGet软件包的解决scheme。 在这里,你可能会发现一个错误,说CodeAnalysis.dll正在被另一个应用程序使用。 再次,转到“工具文件夹”,find指定的文件并将其删除。 回到pipe理NuGet包的解决scheme。 你会发现一个链接,会要求你重新加载,点击它,一切都得到重新安装。 您的项目现在应该正常工作。

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

好吧,如果这样说:GT / lt之间的标志

Import Project =“$(MSBuildExtensionsPath)\ Microsoft \ Silverlight \ v3.0 \ Microsoft.Silverlight.CSharp.targets”/

我如何解决目标错误?

我还在演示项目(特别是由Rob Eisenburg“构build自己的MVVM框架”)中find了导入string。

如果使用lomaxx VS2010 RTMbuild议的报告replace该导入,则需要安装该导入。

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

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

这是post。

在安装SL 5时打开SL 4中内置的Silverlight项目也会发生此错误。

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

请注意v4.0。

要解决,编辑项目并find:

 <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> 

并将其更改为v5.0。

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

在我的情况下,我打开我的.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')" /> 

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