繁体   English   中英

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

[英]The imported project "C:\Microsoft.CSharp.targets" was not found

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

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

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

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

并将其更改为

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

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

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

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

添加新包的步骤

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

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

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

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

在我来说,我无法装入在我的解决方案等5个项目之一了。

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

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

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

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

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

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

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

如果您遇到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 您会找到一个链接,要求您重新加载,单击它并重新安装所有内容。

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

就我而言,我在记事本中打开了我的 .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')" />

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

好吧,如果它这么说呢:在 gt/lt 标志之间

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

我如何修复目标错误?

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

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

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

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

这是帖子。

在安装了 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)。

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

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

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

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

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

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

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

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

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

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

现在似乎 nuget 包文件夹已移动到机器范围的全局缓存,使用 VS2022

Visual Studio 2022 全球 nuget 包

对我来说,问题是解决方案是深入到文档文件夹中,并且在 windows 10 上达到了路径字符限制。 一旦我将解决方案文件夹向上移动了几个文件夹,就解决了这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM