因此,我在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上编写的。这一定是原因。我用这种方法解决了。