无法使用AppSettings.cs编译C#项目模板

时间:2017-09-20 20:05:32

标签: c# templates visual-studio-2017 appsettings

我有一个C#项目模板,我想添加一个AppSettings.cs文件,将其复制到我的新部署的项目中,该项目基于我的模板。但是,当我尝试构建我的模板项目时,我得到了抱怨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 $变量说“{expected”但我在Program.cs,Startup.cs和其他一些没有问题的地方使用了相同的命名空间行。

我想我可能必须将AppSettings.cs文件添加到我的Project.vstemplate和ProjectTemplate.csproj文件中,就像我为上面提到的其他文件所做的那样,但似乎没有解决问题。

有什么建议吗?是否有其他方法从VS编译器中捆绑/隐藏AppSettings.cs文件,以便它停止处理我的AppSettings.cs,就像它是针对与我新部署的模板项目相对的项目模板项目一样?

1 个答案:

答案 0 :(得分:0)

答案: 我必须将AppSettings.cs的Build Action从Compile更改为None,这可以通过Properties窗口或更改此处显示的CSPROJ代码来完成:

<Compile Include="AppSettings.cs" />

<None Include="AppSettings.cs" />

感谢所有观看和/或评论过的人。