首页 文章

错误:* .csproj无法在MonoDevelop上导入“$(MSBuildBinPath)\ Microsoft.CSharp.targets”

提问于
浏览
12

所以,我在Linux Mint 16上安装了MonoDevelop v5.7 . 我使用默认代码创建了新的C#ConsoleProject

using System;

namespace Lab1
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            Console.WriteLine ("Hello World!");
        }
    }
}

并尝试 Build 它F7 . 之后我有错误:错误:/../../Lab1/Lab1/Lab1.csproj:/../../Lab1/Lab1/Lab1.csproj无法导入“$(MSBuildBinPath)\ Microsoft.CSharp .targets“(Lab1) . 有没有人有什么建议?

3 回答

  • 19

    如果是单声道错误 .

    所以打开项目菜单选择Build-> General并选择已安装的框架 .

    我正在使用3.5但在单声道上只安装了4.5和4.5.1 .

    选择框架后,我被问到是否会继续2010年或2012年,您选择其中之一 . 原始程序是用2008写的,而在Win7上的3.5 . 这一定是原因 . 我这样解决了 .

  • 0

    我知道这已经很晚了,但就我而言,Mono的目标是未安装的.NET版本 . 这是由 changing the target framework 修复的 .


    我通过在sln文件上运行 xbuild 找到了这个问题:

    xbuild myProject.sln
    

    我有类似的东西:

    warning : Could not find project file /usr/lib/mono/3.5/Microsoft.CSharp.targets, to import. Ignoring.
    

    该警告表明该项目默认为针对.NET 3.5,但我猜这个版本没有安装 . 让我们通过搜索丢失的文件找到安装的版本:

    find /usr/lib/mono -name "Microsoft.CSharp.targets"
    

    在我的机器上,列出了 /usr/lib/mono/4.5/Microsoft.CSharp.targets ,但您可能有不同的.NET版本 . 忽略xbuild和msbuild路径 .

    无论您身在何处,转到您的项目,单击解决方案窗格中项目旁边的设置按钮(带有齿轮图像的下拉按钮),然后单击“选项” . 然后在“Build”下,您将看到“General”,单击该按钮并将“Target framework”更改为.NET版本,其中该文件夹包含Microsoft.CSharp.targets文件 . 就我而言,这是4.5 .

    希望这有助于某人 .

  • 1

    我的问题是我不小心删除了该项目的 packages.config 文件 .

相关问题