2017-09-20 2 views
1

J'ai un modèle de projet C# et je souhaite ajouter un fichier AppSettings.cs à copier dans mon projet nouvellement déployé qui est basé sur mon modèle. Toutefois, lorsque j'essaie de générer mon projet de modèle, je reçois des erreurs de construction se plaignant de AppSettings.csImpossible de compiler le modèle de projet C# avec AppSettings.cs

IMPORTANT: notez qu'il s'agit d'un modèle de projet C# qui utilise des variables entourées de $$, par ex. $ safeprojectname $, donc supprimer ces $ s n'est pas une option. $ safeprojectname $ fonctionne dans d'autres fichiers, mais pas dans AppSettings.cs.

Voici un exemple de mes AppSettings.cs:

using Microsoft.Extensions.Configuration; 

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

     public AppSettings() { } 
    } 
} 

Le compilateur se plaint de ma variable safeprojectname de $ de $ en disant « {attendu » mais j'ai la même ligne d'espace de noms utilisé dans mon Program.cs, Startup.cs, et quelques autres endroits sans problème.

Je pensais que je devrais ajouter le fichier AppSettings.cs à mes fichiers Project.vstemplate et ProjectTemplate.csproj comme je l'ai fait pour les autres fichiers mentionnés ci-dessus, mais cela ne semblait pas résoudre le problème.

Des suggestions? Existe-t-il un autre moyen de regrouper/cacher le fichier AppSettings.cs du compilateur VS pour qu'il arrête de traiter mon AppSettings.cs comme il est destiné au Project Project Project opposé à mon projet template nouvellement déployé?

+0

Donc, je suis assez certain que cela a à voir avec les modèles de projet en particulier. J'utilise "namespace $ safeprojectname $" dans plusieurs fichiers sans problème. –

+0

JBC, si je fais cela, alors la variable de template "safeprojectname" ne sera pas injectée lors du déploiement du projet template. –

Répondre

0

Réponse: je devais changer l'action de construction de mes AppSettings.cs de Compile None, ce qui se fait via la fenêtre Propriétés ou en modifiant votre code csproj montré ici:

<Compile Include="AppSettings.cs" /> 

à

<None Include="AppSettings.cs" /> 

Merci à tous ceux qui ont vu et/ou commenté.