2017-09-20 49 views
1

我有一個C#項目模板,我想添加一個AppSettings.cs文件複製到我的新部署的項目,基於我的模板。但是,當我嘗試構建我的模板項目時,出現構建錯誤,抱怨AppSettings.cs無法編譯C#項目模板與AppSettings.cs

重要提示:請注意,這是一個C#項目模板,它使用由$$包圍的變量。 $ safeprojectname $,因此刪除這些$ s不是一個選項。 $ safeprojectname $在其他文件中工作,但不是AppSettings.cs。

這裏是我的AppSettings.cs的例子:

using Microsoft.Extensions.Configuration; 

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

     public AppSettings() { } 
    } 
} 

編譯器抱怨我$ safeprojectname $變量說:「{預期」,但我有我的Program.cs使用相同的命名空間線, Startup.cs和其他幾個沒有問題的地方。

我想我可能需要將AppSettings.cs文件添加到我的Project.vstemplate和ProjectTemplate.csproj文件中,就像我爲上面提到的其他文件所做的那樣,但似乎沒有解決問題。

有什麼建議嗎?有沒有其他的方式來捆綁/隱藏VS編譯器中的AppSettings.cs文件,以便它停止處理我的AppSettings.cs,就像它是爲了與我新部署的模板項目相反的項目模板項目?

+0

所以我很確定這與專門的項目模板有關。我在幾個文件中使用「namespace $ safeprojectname $」沒有問題。 –

+0

JBC,如果我這樣做,那麼模板變量「safeprojectname」將不會被注入模板項目的部署。 –

回答

0

答: 我有我的AppSettings.cs的生成操作從編譯更改爲無,這是通過屬性窗口或通過更改完這裏顯示您的csproj代碼:

<Compile Include="AppSettings.cs" /> 

<None Include="AppSettings.cs" /> 

謝謝所有觀看和/或評論的人。