【问题标题】:The imported project "C:\Microsoft.CSharp.targets" was not found未找到导入的项目“C:\Microsoft.CSharp.targets”
【发布时间】:2010-09-05 13:30:47
【问题描述】:

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

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

【问题讨论】:

  • 我不得不在 .csproj 文件中将我的引用从 Microsoft.CSharp.Targets 重命名为 Microsoft.CSharp.targets

标签: c# visual-studio


【解决方案1】:

在记事本(或记事本++)中打开您的 csproj 文件 找线:

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

并将其更改为

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

【讨论】:

  • 我说,“
    @Iomaxx,我通过将 Monodevelop 构建目标从 Mono/.NET 3.5 更改为 Mono/.NET 4.0 解决了这个问题。
  • 我已经说过 MSBuildBinPath,但它在命名空间中包含了 CompactFramework:
  • 如果你使用 Monodevelop 安装包:“mono-msbuild”和“mono-msbuild-sdkresolver”。注意:在 Linux Manjaro 上测试。
  • 如果安装了“msbuild-stable”(或等效)包,您将需要删除它。注意:在 Linux Manjaro 上测试。
【解决方案2】:

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

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

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

添加新包的步骤

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

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

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

【讨论】:

  • 正如 Alf Moh 所说,只需在计算机上的其他位置找到该文件并将其复制到它正在搜索的文件夹中
  • 我在 Visual Studio for Mac 上遇到了这个问题,Microsoft.CSharp.targets 文件由于某种原因被删除了!正如你所说,我删除了 packages 文件夹并重新启动了 Visual Studio,神奇地它工作了!
  • 这为我解决了这个问题,但我的一位同事第一次就成功了。虽然这确实有效,但我还有其他东西要找!
  • 好兄弟!我为此损失了 1 小时
  • 为我工作... tnx
【解决方案3】:

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

【讨论】:

  • 这对我来说是个问题。项目名称中有空格,因此 git clone 后的目录名称中有 %20 。您可以使用git clone &lt;RepoUrl&gt; &lt;LocalDirName&gt; 指定要克隆到的目录名称,以避免出现 %20
【解决方案4】:

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

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

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

为了确定,请在删除文件夹之前关闭所有 VS 实例。

【讨论】:

    【解决方案5】:

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

    【讨论】:

      【解决方案6】:

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

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

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

      【讨论】:

        【解决方案7】:

        如果您遇到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 &gt; NuGetPackage Manager &gt; Manage NuGet Packages For Solution。在这里,您可能会发现一个错误,提示 CodeAnalysis.dll 正在被另一个应用程序使用。

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

        您的项目现在应该可以正常运行了。

        【讨论】:

          【解决方案8】:

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

          【讨论】:

            【解决方案9】:

            就我而言,我在记事本中打开了 .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】:

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

              进口 Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v3.0\Microsoft.Silverlight.CSharp.targets" /

              如何修复目标错误?

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

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

              【讨论】:

                【解决方案11】:

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

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

                Here's 发帖。

                【讨论】:

                  【解决方案12】:

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

                  【讨论】:

                    【解决方案13】:

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

                    【讨论】:

                      【解决方案14】:

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

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

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

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

                      【讨论】:

                        【解决方案15】:

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

                        【讨论】:

                          【解决方案16】:

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

                          【讨论】:

                            【解决方案17】:

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

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

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

                            【讨论】:

                              猜你喜欢
                              相关资源
                              最近更新 更多
                              热门标签