2017-03-14 2 views
0

Ich habe eine Xamarin Android + iOS-Anwendung mit einer .NET-Standard-Bibliothek, und ich möchte in meiner Bibliothek, die die Erstellung von einigen CS- Dateien abhängig konditionieren auf dem Paket in der AndroidManifest.xml/Bundle-ID in der info.plist. Dies liegt daran, dass ich die App für mehr Kunden mit unterschiedlichen Konfigurationen anpassen muss. Die Bedingung sollte auch berücksichtigen, ob meine Konfiguration Debug oder Release ist (Datei muss nur in Release Konfiguration ausgeschlossen werden).MSBuild und csproj: Wie Anlage C# File Inclusion/Kompilieren

<Compile Include="ConditionalFile.cs" Condition="'$(Configuration)' == 'Debug'" /> 

Die Bedingung für die debug, ich brauche eine Art „oder Klausel“ hinzuzufügen und sie zu füllen, vielleicht mit einem Bash-Skript gestartet, wenn es Zeit ist, die apk/IPV zu kompilieren.

Irgendeine Idee?

Antwort

0

Eine Lösung, die ich gefunden habe, ist diese:

  • Benutzerdefinierte Eigenschaft mit der ID meiner App: <PackageId>it.mpic.x</PackageId>

  • Bash-Skript, das die <PackageId> Element mit der richtigen App-ID ändert sich vor die Freisetzung

  • Compile Zustand in oder: Condition="'$(Configuration)' == 'Debug' Or '$(PackageId)' == 'it.mpic.x1'"