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

今天我在 VisualStudio2005中试图打开 VisualStudio2008项目时遇到了这个错误:

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

172003 次浏览

在记事本(或记事本 + +)中打开 csproj 文件 找到那条线:

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

然后改成

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

这个 MSDN 上的链路也有助于很多了解为什么它不工作的原因。$(MSBuildToolsPath)是到 Microsoft 的路径。建造。引擎 v3.5(在 VS2008中创建时自动插入到项目文件中)。如果尝试为。Net 2.0,请确保将此路径更改为 $(MSBuildBinPath) ,这是 Microsoft 的路径。建造。引擎2.0版。

好吧,那么如果它说: 之间的 指示牌

进口 Project = “ $(MSBuildExtensionsPath) Microsoft Silverlight v3.0 Microsoft. Silverlight.CSharp.target” /

如何修正目标错误?

我还在一个演示项目中发现了导入字符串(特别是 Rob Eisenburg 的“ Build your own MVVM Framework”)。

如果用 lomaxx VS2010 RTM 建议的导入替换该导入,则需要安装 这个

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

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

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

这是邮报。

我曾经在 csproj 文件中有这样一行:

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

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

当您安装 SL 5时,打开在 SL 4中构建的 Silverlight 项目时,也可能出现此错误。

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

注意 v4.0。

要解决此问题,请编辑项目并查找:

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

然后改成 v5.0。

然后重新加载项目,它将打开(除非你没有安装 SL 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中(即导航到非工作项目中的工具文件夹,如上所示)

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

现在应该能用了。

另外,要确保现在打开的 VisualStudio 项目中的所有工作都正常进行,请转到 Tools > NuGetPackage Manager > Manage NuGet Packages For Solution。在这里,您可能会发现一个错误,即 CodeAnalysis.dll 正在被另一个应用程序使用。

再次转到 tools folder,找到指定的文件并删除它。回到 Manage NuGet Packages For Solution。你会发现一个链接,将要求你重新加载,点击它,一切得到重新安装。

你的项目现在应该正常运行了。

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

在我的例子中,我从根目录中删除了 包裹文件夹。

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

步骤到 添加新包

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

这不是正确的解决方案,而是 我把它放在这里是因为我面临着同样的问题。

对我来说,是 我甚至不能打开我的解决方案在视觉工作室,没有得到任何帮助与其他 SO 的答案。

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

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

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

在我的情况下,我不能在我的解决方案中从 5个项目加载

它有助于 关闭视觉工作室和我不得不 删除 Microsoft.Net.Compilers.1.3.2坚果文件夹下的 packages文件夹。

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

为了确保万无一失,请在删除文件夹之前关闭 VS 的所有实例。

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

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

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

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

我在执行安赛波战术手册时遇到了这个问题,所以我想在这里加上我的意见。我注意到一条关于遗失 VisualStudio14的警告消息。Visual Studio 版本14于2015年发布,我的问题的解决方案是在 Azure DevOps 代理的主机上安装 Visual Studio 2015 Professional。

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

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

开放项目是好的,但建设失败了

找不到文件: /package/Microsoft. Net. Compilers.1.3.2/tools/Microsoft.CSharp. Core.target

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

visual studio 2022 global nuget packages

对我来说,问题是解决方案是深入到文档文件夹,在 Windows 10上有一个路径字符限制,这是达到了。一旦我把解决方案文件夹上移了几个文件夹,这个问题就解决了。