it-swarm.com.de

CSC: Fehler CS0041: Unerwarteter Fehler beim Schreiben von Debuginformationen - 'Vorgang wird auf dieser Plattform nicht unterstützt.'

Ich habe gerade Visual Studio Professional für Mac heruntergeladen und ich kann anscheinend nichts erstellen, da ich immer die gleiche Fehlermeldung bekomme:

/Library/Frameworks/Mono.framework/Versions/4.8.0/lib/mono/xbuild/14.0/bin/Microsoft.CSharp.targets (CoreCompile target) ->

CSC: error CS0041: Unexpected error writing debug information -- 'Operation is not supported on this platform.'

 19 Warning(s)
 1 Error(s)

Ich bin mir nicht sicher, was ich an meinem Projekt ändern muss, damit die Dinge kompiliert werden. 

11
Slee

Ich konnte dieses Problem auf zwei Arten umgehen:

  1. HACKDurch das Entfernen von Debug-Symbolen aus dem Build (in VS-Fenstern: Projekteigenschaften - Registerkarte Erstellen -> Schaltfläche Erweitert -> Dropdown-Menü "Debug Info" in "none") ändern - nicht sicher, welche Entsprechung in VS vorhanden ist für Mac/Xamarin Studio) Ich habe dies für alle Konfigurationen der betroffenen Projekte durchgeführt. Zurück zu macOS env ist Build nun erfolgreich. Natürlich keine Debug-Informationen, aber es funktioniert, ohne irgendwelche deps zu brechen.

  2. NON-HACK Die Hauptursache ist die Verwendung von Roslyn-Compilern/tools für ASP.NET-Webprojekte. Dieses Tool erzeugt PDB-Dateien anstelle von MDB-Dateien, und der Build schlägt fehl, PDB-Dateien auf der macOS-Plattform zu erstellen "Plattform nicht unterstützt".) Wenn wir die Ursache kennen, können wir auch die folgenden Nuget-Pakete aus den betroffenen Projekten entfernen:

    <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.0" targetFramework="net45" />
    <package id="Microsoft.Net.Compilers" version="1.0.0" targetFramework="net45" developmentDependency="true" />
    

Es ist unklar, was durch das Entfernen dieser beiden Pakete geopfert wird. Dadurch kann ich die betroffenen Projekte mit den enthaltenen Debug-Informationen erstellen. Die betroffenen Projekte enthielten nur Webapi-Endpunkte und keine Verwendung von MVC oder Razor Engine. Es wäre schön zu hören, welche Erfahrungen andere gemacht haben, wenn sie Probleme mit dieser Änderung hatten.

HTH

14
Shaun Wilson

Dies ist ein Fehler, der in Kürze behoben wird. In der Zwischenzeit können Sie Ihre csproj-Datei bearbeiten, um sie hinzuzufügen

<DebugType Condition="'$(OS)' != 'Windows_NT'">portable</DebugType>

hinter der Zeile mit <DebugType>full</DebugType> oder <DebugType>pdbonly</DebugType>

Im Wesentlichen soll die DebugType -Eigenschaft auf dem Mac portable sein, die von Roslyns csc.exe auf Nicht-Windows-Plattformen anstelle von pdb unterstützt wird.

5
radical

Um dieses Problem zu lösen, müssen Sie Folgendes tun:

  1. Projekt auswählen

  2. Klicken Sie mit der rechten Maustaste und wählen Sie Optionen

  3. Wählen Sie die Registerkarte Erstellen -> Compiler
  4. Debug-Informationen -> Keine

Es hat diesen Fehler behoben, aber ich bekomme einen anderen

"System.IO.FileNotFoundException Datei" /Users/.../.../bin\roslyn\csc.exe "nicht gefunden

3
Icet

Nachdem ich die Zeile gelöscht habe

<DebugType>pdbonly</DebugType>

von dem .csproj Datei wurde der Build erfolgreich.

0
Darius

Ich hoffe, nicht zu spät zu kommen, ich habe folgendes getan, um das Problem zu lösen:

  1. Klicken Sie mit der rechten Maustaste in die Lösung und wählen Sie "Optionen".

  2. Wählen Sie die Registerkarte Erstellen -> Konfigurationen,

  3. In "Konfiguration A." Wählen Sie "Debug" und deaktivieren Sie alle Builds und klicken Sie auf "Akzeptieren".

  4. Projekt reinigen, neu aufbauen und ausführen.

Ich hoffe das hilft.

0
Alan Uscanga