[英]$safeprojectname$ isn't safe within the IWizard.RunStarted method
我已经实现了IWizard接口,我想获得$safeprojectname$
。 所以,我使用以下代码:
public void RunStarted(object automationObject, Dictionary<string, string> replacementsDictionary, WizardRunKind runKind, object[] customParams) {
var safeProjectName = replacementsDictionary["$safeprojectname$"];
}
但在这种情况下, safeProjectName
是一个包含规范符号的字符串,如-
, +
等。例如,如果用户将项目名称设置为My-Project-1
$safeprojectname$
将是My-Project-1
。 我期待My_Project_1
。
我应该手动更换所有不安全的符号吗?
根据这篇文章它应该没有任何操纵,但它没有:
safeitemname - 用户在“添加新项”对话框中提供的名称,其中删除了所有不安全的字符和空格。
PS:
在VS Professional 2015和VS Professional 2017中重现。
例如,用户将项目名称设置为My-Project-1 $ safeprojectname $将是My-Project-1。 我期待My_Project_1。
您可以将' - '替换为'_',如下所示:
var safeProjectName = replacementsDictionary["$safeprojectname$"];
replacementsDictionary["$safeprojectname$"] = replacementsDictionary ["$safeprojectname$"].Replace("-", "_");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.