.NET / C#プロジェクトをコンパイルしたいのですが、これを行うためにVisual Studioをインストールしたくありません。
どのツールが必要ですか、またどのようにプロジェクトをコンパイルできますか?
.NET / C#プロジェクトをコンパイルしたいのですが、これを行うためにVisual Studioをインストールしたくありません。
どのツールが必要ですか、またどのようにプロジェクトをコンパイルできますか?
回答:
最新の.NET Frameworkをダウンロードしてインストールします。
たとえば、.NET Framework 4.5インストーラーのインストーラーを使用できます。
コマンドプロンプトを開き、.NET Frameworkのインストールディレクトリに移動します。
例えば:
cd \Windows\Microsoft.NET\Framework\v4*
MSBuild.exe
ソリューションのコンパイルに使用します。
例えば:
msbuild "C:\Users\Oliver\Documents\My Project\My Project.sln" /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU"
プロジェクトでNuGetパッケージを使用する場合、次の手順に従ってそれらを取得できます。
NuGet.exeコマンドラインブーストラッパーをダウンロードし、たとえば、ソリューションディレクトリ内に配置します。
コマンドプロンプトを開き、ソリューションディレクトリに移動します。
例えば:
cd "C:\Users\Oliver\Documents\My Project"
NuGet.exe
このソリューションに必要なパッケージを更新するために呼び出します。
NuGet.exe install "My Project/packages.config" -o packages/
MSBuild.exe
コマンドライン引数のドキュメントへのリンクを追加しました。はい、これは既にローカルマシン上にあるプロジェクト用です(GitHubからダウンロードされる場合があります)。Ramhoundが言及しているcsc.exe
ように、単一のファイルをコンパイルするための頼れるツールになるでしょう。csc.exe
.NET Frameworkにもバンドルされています。これはコアC#コンパイラであり、MSBuildはおそらくそれを呼び出すだけです。クライアントプロファイルについてはわかりませんが、クライアントプロファイルに含まれていると思います。
csc.exe
含める必要がある1つの理由は、クライアントプロファイルにXmlSerializer
クラスが含まれているためです。このクラスはcsc.exe
、実行時に(を使用して)シリアル化アセンブリを生成します。
Visual Studioのインストールを避けたい場合は、クロスプラットフォームでオープンソースの.NETランタイムおよび開発フレームワークであるMonoを試してみてください。Monoは、公開されているC#のECMA標準に基づいており、プリコンパイルされたC#アプリケーションと直接互換性があります。
Monoには、MSBuildを完全に置き換えることができるXBuildというツールも含まれています。MSBuildからXBuildへのプロジェクトの移植については、Monoプロジェクトのこの記事をご覧ください。WikiからのXBuildの1行の説明:
xbuildはmsbuildのMonoの実装であり、msbuildファイルを持つプロジェクトをLinuxでネイティブにコンパイルできます。
Linuxに加えて、WindowsおよびMac OS Xもサポートされていることに注意してください。
mono
Windowsで使用する理由はありますか?