2017-09-20 2 views
1

Ich habe eine C# -Projektvorlage und möchte eine AppSettings.cs-Datei hinzufügen, die in mein neu bereitgestelltes Projekt kopiert werden soll, das auf meiner Vorlage basiert. Wenn ich versuche, mein Vorlagenprojekt zu erstellen, erhalte ich Build-Fehler, die sich über AppSettings.cs beschweren.C# -Projektvorlage kann nicht mit AppSettings.cs kompiliert werden

WICHTIG: Beachten Sie, dass dies eine C# -Projektvorlage ist, die von $$ umgebene Variablen verwendet, z. $ saveprojectname $, daher ist das Entfernen dieser $ s keine Option. $ safeprojectname $ funktioniert in anderen Dateien, aber nur nicht in AppSettings.cs. Hier

ist ein Beispiel für meine AppSettings.cs:

using Microsoft.Extensions.Configuration; 

namespace $safeprojectname$ 
{ 
    public class AppSettings 
    { 
     public static IConfiguration Configuration { get; set; } 

     public AppSettings() { } 
    } 
} 

Der Compiler beschwert sich über meine $ safeprojectname $ variable sagen „{erwartet“ doch habe ich den gleichen Namensraum Linie verwendet in meinem Program.cs, Startup.cs, und ein paar andere Spots ohne Problem.

Ich dachte, ich müsste die AppSettings.cs-Datei zu meinen Project.vstemplate und ProjectTemplate.csproj-Dateien wie ich für die anderen oben genannten Dateien hinzugefügt haben, aber das schien das Problem nicht zu beheben.

Irgendwelche Vorschläge? Gibt es eine andere Möglichkeit, die AppSettings.cs-Datei vom VS-Compiler zu bündeln/auszublenden, damit sie nicht mehr meine AppSettings.cs behandelt, als wäre sie für das Projektvorlagenprojekt gedacht, das meinem neu bereitgestellten Vorlagenprojekt entgegensteht?

+0

Also ich bin ziemlich sicher, dass dies speziell mit Projektvorlagen zu tun hat. Ich benutze "Namespace $ safeprojectname $" in mehreren Dateien ohne Problem. –

+0

JBC, wenn ich das tue, dann wird die Vorlagenvariable "safeprojectname" bei der Bereitstellung des Vorlagenprojekts nicht eingefügt. –

Antwort

0

Antwort: Ich hatte die Build Action meiner AppSettings.cs von Compile auf Keine ändern, die über das Fenster Eigenschaften erfolgt oder durch Ändern sich hier Csproj Code gezeigt:

<Compile Include="AppSettings.cs" /> 

zu

<None Include="AppSettings.cs" /> 

Vielen Dank an alle, die angesehen und/oder kommentiert haben.

Verwandte Themen