在VSX项目中添加DLL库引用

3

我想通过代码创建一个新项目,并向我的项目添加一些dll引用。

以下是我的代码:

System.Type type = System.Type.GetTypeFromProgID("VisualStudio.DTE.9.0");
object obj = System.Activator.CreateInstance(type, true);
EnvDTE.DTE dte = (EnvDTE.DTE)obj;
Solution2 sln = (Solution2)dte.Solution;
sln.Create(@"C:\tmp", "TestSolution");
string templatePath = sln.GetProjectTemplate("WindowsApplication.zip", "CSharp");
sln.AddFromTemplate(templatePath, @"C:\tmp\Project", "TestProject", false);
Project proj = sln.Projects.Item(1);
VSProject2 vsproj = (VSProject2)proj.Object;
vsproj.References.Add(@"C:\testfile.dll");
vsproj.Refresh();
sln.SaveAs("TestSolution");

但是当我打开项目并查看 "引用" 时,没有添加任何Testfile.dll。我哪里做错了吗?
2个回答

1
似乎您需要保存项目

proj.Save();

保存解决方案之前。

我在msvs2010中尝试了一下,所以我不确定在msvs2008中是否相同。


嘿,太酷了!谢谢!你知道是否可能从项目中删除引用吗? - MMM
@Mathias ReferenceRemove方法 - Evgeny Timoshenko
@Mathias 有帮助吗? - Evgeny Timoshenko

0

试试这个:

 sln.Projects[0].References.Add(@"C:\testfile.dll");

当我尝试上述操作时,我收到了以下错误信息:无法将[]索引应用于类型为'EnvDTE.Projects'的表达式。 - MMM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接