我正在尝试使用Visual Studio 2008的可扩展性来编写一个插件,该插件将在解析接口(interface)后创建一个包含各种消息的项目文件夹。但是,在创建/添加文件夹的步骤中遇到了麻烦。我试过使用
ProjectItem folder =
item.ProjectItem.Collection.AddFolder(newDirectoryName, string.Empty);
(项目是我的目标文件,在该文件的旁边我正在创建一个具有相同名称但附加“消息”的文件夹),但是当文件夹已经存在时它会阻塞(不足为奇)。
我尝试删除它(如果已存在),例如:
DirectoryInfo dirInfo = new DirectoryInfo(newDirectoryParent +
newDirectoryName);
if (dirInfo.Exists)
{
dirInfo.Delete(true);
}
ProjectItem folder =
item.ProjectItem.Collection.AddFolder(newDirectoryName, string.Empty);
我可以看到在调试时该文件夹已被删除,但是它仍然
似乎认为该文件夹仍然存在,并且已经死在一个文件夹上
存在异常。
有任何想法吗???
谢谢。
阿克
....也许答案在于删除后以编程方式刷新项目?怎么做?
最佳答案
ProjectItem pi = null;
var dir = Path.Combine(
project.Properties.Item("LocalPath").Value.ToString(), SubdirectoryName);
if (Directory.Exists(dir))
pi = target.ProjectItems.AddFromDirectory(dir);
else
pi = target.ProjectItems.AddFolder(dir);
ProjectItems.AddFromDirectory将目录和目录下的所有内容添加到项目中。