実行中のVisual Studioに接続し、ビルドコマンドを発行するC#プログラムです。 DTE.9
部分は、「Visual Studioの2008年を」意味 - VSのためにVS 2005、またはDTE.10
ためDTE.8
を使用し、2010年
using System;
using System.Runtime.InteropServices;
using EnvDTE80;
namespace SORemoteBuild
{
class Program
{
[STAThread]
static void Main(string[] args)
{
// Get an instance of the currently running Visual Studio IDE.
EnvDTE80.DTE2 dte2;
dte2 = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.
GetActiveObject("VisualStudio.DTE.9.0");
dte2.Solution.SolutionBuild.Build(true);
}
}
public class MessageFilter : IOleMessageFilter
{
// ... Continues at http://msdn.microsoft.com/en-us/library/ms228772.aspx
(STAThreadとMessageFilterとナンセンスによる外部マルチスレッドアプリケーションとの間でスレッド競合問題に」ですVisual Studio "という意味であれば、http://msdn.microsoft.com/en-us/library/ms228772.aspxからコードを貼り付けると便利です)
Visual Studioアドインを作成するだけではどうですか?名前付きパイプでこれらのコマンドをリッスンする場合でも。 –
これは唯一の方法であれば、おそらくVSアドインを作ることができますが、VSを外から自動化する方法があれば、何度もVSを再起動することは大変なことです。 –