C# 将自定义格式添加到Visual studio项目的模板参数

C# 将自定义格式添加到Visual studio项目的模板参数,c#,visual-studio,visual-studio-2010,templates,visual-studio-templates,C#,Visual Studio,Visual Studio 2010,Templates,Visual Studio Templates,我已经定义了一个名为classDB.cs的VisualStudio模板。我希望该类的默认名称显示为[projectname]DB.cs,其中[projectname]是当前项目的名称(在“创建项目”对话框中输入)。有没有办法做到这一点?我尝试将类的名称设置为$safeprojectname$DB.cs,但没有成功 更新 我修改了我的项目模板,但在生成项目时出现了此错误 这是模板类 namespace $safeprojectname$.Models { public class $sa

我已经定义了一个名为
classDB.cs
的VisualStudio模板。我希望该类的默认名称显示为[projectname]DB.cs,其中[projectname]是当前项目的名称(在“创建项目”对话框中输入)。有没有办法做到这一点?我尝试将类的名称设置为
$safeprojectname$DB.cs
,但没有成功

更新

我修改了我的项目模板,但在生成项目时出现了此错误

这是模板类

namespace $safeprojectname$.Models
{
    public class $safeprojectname$DB : DbContext
    {

    }
}

尝试以下模板:

using System;
//...

namespace $rootnamespace$ {
    class $safeitemname$DB {
    }
}
<Compile Include="Models\%24safeprojectname%24DB.cs" />
对我有用

确保更新了正确的模板(应位于Windows 7上的
C:\Users\[user]\Documents\Visual Studio 2010\Templates\ItemTemplates
下),然后重新启动Visual Studio


编辑 上面的代码是针对项模板的,但这与项目模板没有区别。根据MSDN,
$safeitemname$
$safeprojectname$
参数的行为相同:

safeitemname
用户在“添加新项”对话框中提供的名称,删除了所有不安全的字符和空格

安全项目名称
用户在“新建项目”对话框中提供的名称,删除了所有不安全的字符和空格


几天来,我一直在与类似的错误作斗争,最终我找到了答案。Visual Studio将转义.csproj文件中的$。因此,您将有一个如下所示的节点:

using System;
//...

namespace $rootnamespace$ {
    class $safeitemname$DB {
    }
}
<Compile Include="Models\%24safeprojectname%24DB.cs" />

在文本编辑器中打开.csproj文件,并将其更改为:

<Compile Include="Models\$safeprojectname$DB.cs" />


然后保存文件。您的项目将重新加载,但不会再次尝试转义文件名!导出模板后,您会发现该参数现在已被替换。

您的意思是什么?。我需要在templateParameter后面加一点吗?我的意思是,你的问题除了一个逗号和过多的尾随问号外,没有标点符号,这使得阅读或理解非常困难。Polynomy的评论在我重写之前提到了这个问题。嗨,谢谢你的提问,如果这是一个项目模板,你会用同样的方法吗?因为我试过这样做,这给我带来了麻烦,应该是这样的。请参阅我的编辑。到底什么是“麻烦”?抱歉,但它不起作用检查我的问题的更新,更好地描述我的问题