2012-05-13 4 views
6

Ich versuche, ein Test-MVC4-Projekt unter OS X 10.7.4 mit Mono 2.10.9 zu erstellen. Ich erstellte eine neue leere MVC4-Webanwendung in Visual Studio verwendet git, um den Quellcode von Windows auf Mac OS X zu übertragen. Ich lief dann xbuild für .nuget-Paket wiederherstellen, aber wenn ich in monodevelop bauen bekomme ich einen seltsamen Fehler:Webapplication.targets fehlen beim Erstellen eines MVC4-Projekts in MonoDevelop unter OS X 10.7.4

/Users/tamasnagy/Developer/Spellbound/Spellbound/Spellbound.csproj: Error: /Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/xbuild/Microsoft/VisualStudio/v10.0/WebApplications/Microsoft.WebApplication.targets: Project file could not be imported, it was being imported by /Users/tamasnagy/Developer/Spellbound/Spellbound/Spellbound.csproj: Imported project: "/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/xbuild/Microsoft/VisualStudio/v10.0/WebApplications/Microsoft.WebApplication.targets" does not exist. (Spellbound)

Was könnte das bedeuten? Dies passiert auch, wenn ich einfach ein neues MVC-Projekt in MonoDevelop erstelle und Build drücke. Irgendwelche Ideen?

Antwort

1

Die MSBuild-Implementierung von Mono (xbuild) enthält keine Implementierung der Ziele für ASP.NET-Projekte.

Sie könnten MonoDevelop erstellen. Stellen Sie sicher, dass die experimentelle xbuild-Integration in den MonoDevelop-Einstellungen deaktiviert ist.

+0

Wenn Sie XBuild/MSBuild deaktivieren Sie auf Nuget Paket verlieren nicht aus wiederherstellen? Sie müssen zurückgehen, um Pakete manuell wiederherzustellen? – sumitkm

3

Ändern Sie Ihre csproj Datei v9.0 zu importieren, wie so ...

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" /> 
+0

Dies funktioniert nicht mehr, da der MD - Master darauf besteht, v9.0 wieder auf v10.0 zu ändern – firegrass

8

einen Symlink erstellen:

cd/usr/lib/Mono/xbuild/Microsoft/Visual Studio/v9. 0

ln -s v9.0 v10.0

ich habe exakt das gleiche ubuntu 12.04 Distro auf zwei verschiedenen Computern und konnte nicht herausfinden, warum Mono auf einem Rechner zusammenstellen würde und nicht das andere. Aber gut, symlink hat das Problem gelöst.

+0

Das Erstellen eines Symlinks ist wahrscheinlich die beste Lösung, wenn Sie XBuild/MSBuild verwenden müssen (was gut ist, wenn Sie Goodies mögen Nuget-Paket-Wiederherstellung). – sumitkm

+1

Dies ist eine bessere Antwort als die angenommene. –

+0

Das gleiche gilt für neuere Versionen von Visual Studio: http://StackOverflow.com/a/35955692/200987 – oligofren

0

Ich weiß, das ist eine alte Frage, aber es kam bei der Suche nach, wie man WebApplications.targets auf OSX verwenden, so ist es immer noch eine Antwort wert. Mit der aktuellen Version von Mono (5.x), Webapplication.targets ist enthalten, so jetzt alles, was Sie tun müssen, ist die VSToolsPath, und alles sollte einfach funktionieren.

Wenn Sie Standard-Bash-Shell verwenden, die .profile Datei ist der Ort, es zu setzen:

export VSToolsPath=/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild/Microsoft/VisualStudio/v15.0/ 
Verwandte Themen