プログラムに参照をソリューションに追加することはできますか?c#Visual Studio ...プログラムによって参照を追加する
私はアドインボタンを持っています。ユーザーがそれを押すと、リファレンスが追加されます。これは可能ですか?
プログラムに参照をソリューションに追加することはできますか?c#Visual Studio ...プログラムによって参照を追加する
私はアドインボタンを持っています。ユーザーがそれを押すと、リファレンスが追加されます。これは可能ですか?
私はそれを
をテストしていませんが、このような何かが
EnvDTE80.DTE2 pEnv = null;
Type myType = Type.GetTypeFromProgID("VisualStudio.DTE.8.0");
pEnv = (EnvDTE80.DTE2)Activator.CreateInstance(myType, true);
が解決策を得る環境を取得します。
Solution2 pSolution = (Solution2)pEnv.VS.Solution;
あなたは
Project pProject = pSolution.Projects[0];
をするプロジェクトは、あなたがそれを開発しているアプリケーションのどのような種類の参照に
pProject.References.Add(string referenceFilePath);
System.Assembly.load
プログラムでビルドされていないライブラリの関数を呼び出すことができます。
私はVBであるマクロでそれをやったが、私はあなたのアイデア
DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
Dim objProject As EnvDTE.Project
Dim i As Long
i = DTE.Solution.Projects.Count
For Each objProject In DTE.Solution.Projects
If (objProject.Name() = "csCA") Then
Dim vsproj As VSLangProj.VSProject
vsproj = objProject.Object
vsproj.References.Add("C:\Users\test.dll")
End If
Next
なぜダウン投票? ***サードパーティライブラリを使わずにプラグインをロードする方法は***です***。 'Assembly.Load'と' Activator.CreateInstance' – jgauffin
これは、ソリューションへの参照を追加しません。実行中のコードに対して単に 'Assembly'をロードします。 –
一部の人々はちょうど奇妙です!私はそれをアップアップしました - 応答に感謝します。 –
CodeProject上の例がありますを取得することができます確信しています。
機能は単一のクラスelRefManager
に含まれており、呼び出すメソッドはCheckReferences
です。コードはhereで見ることができます。左側のelRefManager.csファイルを選択します。あなたができる記事に見られるように
...
private void button1_Click(object sender, System.EventArgs e)
{
int ec;
ec=elRefManager.CheckReferences(null, new string[] {textBox1.Text});
if (ec<0)
MessageBox.Show("An error occurred adding this reference");
if (ec>0)
MessageBox.Show("Could not add " + textBox1.Text +
"\nCheck its spelling and try again");
}
を追加取得し、これを必要としますか? – Bernard
これが可能かどうかを知ることに興味がありますか、これを実現するには_how_ですか? – Oded
可能です。私は前にそれをやった。私はそれを行うのに使用されたコードを覚えていません – scott