2013-11-28 48 views
3

我想通過代碼創建一個新項目,併爲我的項目添加一些dll引用。在VSX中添加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添加。我究竟做錯了什麼?

proj.Save();

節能解決方案之前:

回答

1

看來你需要save project

我試過msvs2010,所以我不確定在msvs2008這是一樣的。

+0

嘿酷!謝謝!你知道是否有可能從項目中刪除引用? – Mathias

+0

@Mathias ['Reference' has'Remove' method](http://msdn.microsoft.com/en-us/library/vslangproj.reference.remove(v = vs.90).aspx) –

+0

@Mathias有它幫助? –

0

試試這個:

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

當我嘗試上述我得到這個錯誤消息:無法應用[]的索引到類型'EnvDTE.Projects'的表達式 – Mathias

相關問題