Ошибка: * .csproj не может импортировать "$ (MSBuildBinPath) \ Microsoft.CSharp.targets" на MonoDevelop


12

Итак, у меня есть MonoDevelop v5.7 на Linux Mint 16. Я создаю новый C# ConsoleProject с кодом по умолчанию на нем

 
using System; 

namespace 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). Есть ли у кого-нибудь предложения?

  0

Сначала я предлагаю запустить xbuild в вашем проекте в подробном режиме и посмотреть, к чему расширяется MSBuildBinPath. 22 фев. 152015-02-22 07:35:20

  0

какая версия моно в вашей системе? 26 фев. 152015-02-26 09:22:03

  0

У вас есть «mono-xbuild»? 01 мар. 152015-03-01 01:02:48

18

Я знаю, что это поздно, но в моем случае Mono нацелился на версию .NET, которая не была установлена. Это фиксируется , изменяя целевую структуру.


Я нашел проблему, запустив xbuild на SLN файла:

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.

Где бы вы ни находились, перейдите в проект, нажмите кнопку настроек рядом с вашим проектом в панели решений (выпадающая кнопка с изображением шестерни) и нажмите «Параметры». Затем в разделе «Сборка» вы увидите «Общие», щелкните по нему и измените «Целевую структуру» на версию .NET, где папка содержит файл Microsoft.CSharp.targets. В моем случае это 4,5.

Надеюсь, это поможет кому-то.


1

Моя проблема была в том, что я случайно удалил файл packages.config для проекта.


0

Если это моно ошибка.

Меню «Открыть меню» Выберите «Сборка-> Общие» и выберите установленную инфраструктуру.

Я работал над 3.5, но на моно устанавливались только 4.5 и 4.5.1.

После выбора рамки Я спрашиваю, буду ли я продолжать с 2010 или 2012 года, вы выбираете один из них. Как оригинальная программа была написана с 2008 года и на 3.5 на Win7. Это должно быть причиной. Я решил таким образом.