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



因此,我在Linux Mint 16上安装了MonoDevelop v5.7。我创建了一个新的C#控制台项目,上面有默认代码

使用系统;命名空间Lab1{class MainClass{public static void Main(string[]args){Console.WriteLine("Hello World!");}}}

并尝试构建F7。之后我出现错误:错误:/..//Lab1/Lab1/Lab1.csproj:/..//Lab1/Lab1/Lab1.csproj无法导入"$(MSBuildBinPath)\Microsoft.CSharp.targets"(Lab1)。有人有什么建议吗?

我知道这已经很晚了,但就我而言,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路径。

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

希望这能帮助到别人。

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

如果是单声道错误。

因此打开项目菜单选择"构建"->"常规",然后选择已安装的框架。

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

在选择框架后,有人问我是否会继续2010年或2012年,你可以选择其中一个。因为最初的程序是用2008和3.5在Win7上编写的。这一定是原因。我用这种方法解决了。

最新更新