Visual Studio可扩展性:将现有文件夹添加到项目中

And*_*rew 5 vsx extensibility add-in visual-studio

我正在尝试使用Visual Studio 2008的可扩展性来编写一个插件,该插件将在解析接口后创建一个包含各种消息的项目文件夹.但是,我在创建/添加文件夹的步骤中遇到了麻烦.我试过用了

ProjectItem folder = 
item.ProjectItem.Collection.AddFolder(newDirectoryName, string.Empty); 
Run Code Online (Sandbox Code Playgroud)

(item是我的目标文件,我正在创建一个具有相同名称但附加了"Messages"的文件夹)但是当文件夹已经存在时它会窒息(没什么大惊喜).

我尝试删除它,如果它已经存在,例如:

DirectoryInfo dirInfo = new DirectoryInfo(newDirectoryParent + 
newDirectoryName); 
if (dirInfo.Exists) 
{
    dirInfo.Delete(true);
}

ProjectItem folder = 
item.ProjectItem.Collection.AddFolder(newDirectoryName, string.Empty); 
Run Code Online (Sandbox Code Playgroud)

我可以看到该文件夹​​在调试时被删除,但它似乎仍然认为该文件夹仍然存在并且已经存在文件夹已经存在异常.

有任何想法吗???

谢谢.

AK

....也许答案是在删除后以编程方式刷新项目?怎么可能这样做?

And*_*rew 3

是的,就是这样...

DirectoryInfo dirInfo = new DirectoryInfo(newDirectoryParent + newDirectoryName);

if (dirInfo.Exists)
{
    dirInfo.Delete(true);
    item.DTE.ExecuteCommand("View.Refresh", string.Empty);
}

ProjectItem folder = item.ProjectItem.Collection.AddFolder(newDirectoryName, string.Empty);
Run Code Online (Sandbox Code Playgroud)

如果有更优雅的方法来做到这一点,我们将不胜感激......

谢谢。