C# $safeprojectname$isn';在IWizard.RunStarted方法中不安全
我已经实现了这个接口,我想获得C# $safeprojectname$isn';在IWizard.RunStarted方法中不安全,c#,visual-studio,visual-studio-extensions,vsix,C#,Visual Studio,Visual Studio Extensions,Vsix,我已经实现了这个接口,我想获得$safeprojectname$。因此,我使用以下代码: public void RunStarted(object automationObject, Dictionary<string, string> replacementsDictionary, WizardRunKind runKind, object[] customParams) { var safeProjectName = replacementsDictionary["$s
$safeprojectname$
。因此,我使用以下代码:
public void RunStarted(object automationObject, Dictionary<string, string> replacementsDictionary, WizardRunKind runKind, object[] customParams) {
var safeProjectName = replacementsDictionary["$safeprojectname$"];
}
public void RunStarted(对象自动对象、字典替换Dictionary、向导runKind runKind、对象[]customParams){
var safeProjectName=replacementsDictionary[“$safeProjectName$”];
}
但在本例中,safeProjectName
是一个包含规范符号的字符串,如-
,+
等。例如,如果用户将项目名称设置为My-project-1
$safeProjectName$
将是My-project-1
。我希望我的\u项目\u 1
我是否应该手动替换所有不安全的符号
根据这一点,它应该在不进行任何操作的情况下工作,但它不会:
safeitemname—用户在“添加新项目”对话框中提供的名称,删除了所有不安全的字符和空格
附言:
在VS Professional 2015和VS Professional 2017中复制
例如,用户将项目名称设置为My-project-1$safeprojectname$将是My-project-1。我期待我的项目
您可以将“-”替换为“-”,如下所示:
var safeProjectName = replacementsDictionary["$safeprojectname$"];
replacementsDictionary["$safeprojectname$"] = replacementsDictionary ["$safeprojectname$"].Replace("-", "_");
例如,用户将项目名称设置为My-project-1$safeprojectname$将是My-project-1。我期待我的项目
您可以将“-”替换为“-”,如下所示:
var safeProjectName = replacementsDictionary["$safeprojectname$"];
replacementsDictionary["$safeprojectname$"] = replacementsDictionary ["$safeprojectname$"].Replace("-", "_");