错误:*.csproj 无法在 MonoDevelop 上导入“$(MSBuildBinPath)\Microsoft.CSharp.targets”
Posted
技术标签:
【中文标题】错误:*.csproj 无法在 MonoDevelop 上导入“$(MSBuildBinPath)\\Microsoft.CSharp.targets”【英文标题】: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
吗?
【参考方案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 编写的。应该是这个原因。 我就是这样解决的。
【讨论】:
以上是关于错误:*.csproj 无法在 MonoDevelop 上导入“$(MSBuildBinPath)\Microsoft.CSharp.targets”的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 不支持特定的 csproj 文件