【问题标题】:Error: *.csproj could not import "$(MSBuildBinPath)\Microsoft.CSharp.targets" on MonoDevelop错误:*.csproj 无法在 MonoDevelop 上导入“$(MSBuildBinPath)\Microsoft.CSharp.targets”
【发布时间】:2015-04-23 13:02:17
【问题描述】:

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

使用系统; 命名空间 Lab1 { 类主类 { 公共静态无效主要(字符串[] args) { Console.WriteLine("Hello World!"); } } }

并尝试构建它 F7。 之后我有错误:错误:/../../Lab1/Lab1/Lab1.csproj: /../../Lab1/Lab1/Lab1.csproj could not import "$(MSBuildBinPath)\Microsoft.CSharp .targets”(实验室 1)。 有人有什么建议吗?

【问题讨论】:

  • 首先我建议在您的项目上以详细模式运行 xbuild 并查看 MSBuildBinPath 扩展为什么。
  • 您的系统中有什么版本的单声道?
  • 你安装了mono-xbuild吗?

标签: c# monodevelop


【解决方案1】:

我知道这已经晚了,但就我而言,Mono 的目标是未安装的 .NET 版本。这可以通过更改目标框架来解决。


我通过在 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 路径。

无论它存在于您的何处,请转到您的项目,单击解决方案窗格中项目旁边的设置按钮(带有齿轮图像的下拉按钮),然后单击“选项”。然后在“构建”下,您将看到“常规”,单击它并将“目标框架”更改为文件夹包含 Microsoft.CSharp.targets 文件的 .NET 版本。就我而言,这是 4.5。

希望这对某人有所帮助。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      如果是单声道错误。

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

      我在 3.5 上工作,但在单声道上只安装了 4.5 和 4.5.1。

      选择框架后,系统会询问我是继续使用 2010 年还是 2012 年,您选择其中之一。 由于原始程序是用 2008 和 Win7 上的 3.5 编写的。应该是这个原因。 我就是这样解决的。

      【讨论】:

        猜你喜欢
        • 2011-01-11
        • 2012-03-02
        • 1970-01-01
        • 1970-01-01
        • 2010-09-05
        • 1970-01-01
        • 2021-07-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多