136

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

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

4

17 回答 17

115

在记事本(或记事本++)中打开您的 csproj 文件找到以下行:

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

并将其更改为

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
于 2008-08-08T05:10:20.760 回答
63

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

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

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

添加新包的步骤

  • 首先删除,packages 文件夹(它将在您当前的项目文件夹附近或上一步)。
  • 然后重新启动项目或解决方案。
  • 现在,重建解决方案文件。
  • 项目将从 nuGet 包管理器获得新的引用。您的问题将得到解决。

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

就我而言,我什至无法在 Visual Studio 中打开我的解决方案,也没有得到其他 SO 答案的任何帮助。

于 2016-10-22T10:02:32.310 回答
28

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

于 2017-04-18T08:44:03.097 回答
13

就我而言,我无法在我的解决方案中加载5项目中的一个。

它有助于关闭 Visual Studio,我不得不删除 Microsoft.Net.Compilers.1.3.2文件夹下的 nuget 文件packages夹。

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

可以肯定的是,在删除文件夹之前关闭所有 VS 实例。

于 2017-11-23T09:39:44.783 回答
11

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

于 2009-05-18T09:15:52.590 回答
7

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

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

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

于 2012-12-21T19:04:15.533 回答
6

如果您遇到错误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. 现在关闭您的项目(如果它已打开)并重新打开它。

它现在应该可以工作了。

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

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

您的项目现在应该可以正常工作了。

于 2016-08-05T06:10:50.013 回答
3

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

于 2011-08-12T15:43:35.263 回答
3

就我而言,我在记事本中打开了 .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')" />
于 2017-02-14T23:51:39.637 回答
2

好的,如果它这样说怎么办:在 gt/lt 标志之间

导入项目="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v3.0\Microsoft.Silverlight.CSharp.targets" /

如何修复目标错误?

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

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

于 2010-05-26T11:09:40.320 回答
2

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

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

这是帖子。

于 2011-08-30T06:15:36.740 回答
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)。

于 2013-08-06T10:53:06.427 回答
0

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

于 2017-10-07T09:55:32.017 回答
0

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

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

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

[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets"
于 2018-03-05T15:26:01.970 回答
0

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

于 2019-02-15T19:53:39.617 回答
0

在尝试恢复、关闭 VS、删除失败的包、重新打开、尝试恢复后,我多次删除了包中的所有内容,当我进行恢复时,它运行良好。

于 2019-04-17T08:40:11.893 回答
0

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

打开项目很好,但是构建失败了

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

于 2021-03-23T06:14:07.293 回答