要求:
用户必须在指定的路径上创建项目(例如在C:\ MyProject \ XYZTest下)。如果没有(比如用户提供C:\ MyProject \ DummyFolder),那么应用程序应终止而不创建任何项目。
请注意以下代码
public void ProjectFinishedGenerating(Project project)
{
try
{
string l_basepath = string.Empty;
var ProjectProperties = project.ProjectItems;
var SolnPath = ProjectProperties.Item(1).FileNames[1];
if (SolnPath.IndexOf("XYZTest") > 0)
{
//set the project path
}
else
{
MessageBox.Show("Please select valid project location");
Application.Exit();
}
}
代码正在检查项目位置路径是否包含" XYZLocation"字符串,然后只有用户可以继续创建项目,否则应用程序应退出。
这样可行但重点是,退出后它也会创建默认项目。因为我们已经在" ProjectFinishedGenerating"中实现了它。 IWizard的方法。
因此,为了避免这种情况,我认为我们需要在IWizard的" RunStarted" 方法中执行此操作。但在那里我无法得到
var ProjectProperties = project.ProjectItems;
var SolnPath = ProjectProperties.Item(1).FileNames[1];
问题是
a) Is my idea and approach is correct (to do in the RunStarted method)?
b)If so, how can I do it?
c)If not, what is the way to achieve so?
意味着,如果应用程序存在,则不会在用户指定的任何位置生成任何项目。
由于
答案 0 :(得分:0)
我无法发表评论,这就是我使用答案的原因。
我有同样的问题,我唯一的解决方案是 Application.Exit(); 。 此解决方案无效,因为它会杀死整个视觉工作室。 有人有更好的吗?