コマンドラインからプロジェクトをビルドしたい。 Visual Studio をインストールせずにC#コンパイラをデプロイすることは可能ですか?
確かに、フレームワークにはコンパイラcsc.exeが含まれています。 この記事 をご覧ください。簡単な方法があります。重要な部分:
コマンドラインコンパイラ(csc.exe)は、Microsoftサイト http://msdn2.Microsoft.com/en-us/netframework/aa731542.aspx から入手できます。
.NET Frameworkの再配布可能なパッケージをダウンロードします。このパッケージには、コンパイラとC#2005構文をサポートする.NET Frameworkが含まれています。
コンパイラは次のディレクトリにあります:%windir%\ Microsoft.NET\Framework \
完全なガイドと説明については、 このMSDN記事 もご覧ください。
最近のバージョンについては、フレームワークではなくMSBuildスタンドアロンパッケージを探していることに注意してください- @ Vadzimの答え を参照してください。
もちろん。行う:
Sudo apt-get install mono-gmcs
他の誰もがWindowsとMS .NETを想定していましたが、...
はい、 。NET SDK があれば、そこにあります。例えば、
C:\WINDOWS\Microsoft.NET\Framework\v[your version number]\csc.exe
msbuild.exe
もそこにあるはずです。それを使用してプロジェクトをビルドできます(.csproj
)ファイル。
他の回答者の一部とは反対に、SDKは必要ありません。C#コンパイラを取得するには.NET Frameworkだけが必要です、csc.exe
。
また、 MonoDevelop 、 #develop 、および Visual C#Express などの他の(無料)IDEを検討してください。 (IDEまったく必要ありません;))
最新 Microsoft .NET Framework 4.7 にはC#コンパイラが含まれなくなりました。
ただし、スタンドアロン MSBuild ツールの一部としてインストールできます。
https://www.visualstudio.com/downloads/ に移動し、「その他のツールとフレームワーク」までスクロールダウンして、「Visual Studio 2017のビルドツール」を選択します。
「Visual Studio Build Tools 2017」オンラインインストーラーの実行後、「個別コンポーネント」タブに切り替えて、「C#およびVisual Basic Roslynコンパイラー」をチェックします。これにより、MSBuildの依存関係もチェックされます。すべてを合わせて100メガバイト未満。
コンパイラはC:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Roslyn\csc.exe
にインストールされます。
はい、オープンソースのものもあります IDE SharpDevelop 。 ltraEdit (または他の好みのエディター)などでコマンドとしてコンパイラーを設定できます。
C#を使用して小さなコンソールアプリケーションを作成できるように、このようなソリューションを探していました。
私のために働いた方法はブライアンによって言及されました、私がやったすべては、単にするために私のファイルを作成した後です:
C:\WINDOWS\Microsoft.NET\Framework\v[your version number]\csc.exe myfile.cs
.exeファイルが生成され、使用できます:)
はい。ただし、ダウンロードしてインストールする必要があります 。NET Framework SDK 。
ここに link があります。
.NETフレームワークのみが必要です。 メモ帳 を使用して編集し、CSC.exeをコンパイルできます。
他の人が言及したように、 MSBuild は.NET Framework(バージョン2.0および3.5)でデプロイされるため、これらのいずれかがインストールされている場合は、マシンにVisual Studioをインストールしなくてもアプリケーションをビルドできます。
イブラヒム・ハシミ
マイブック: Microsoft Build Engine内:MSBuildおよびTeam Foundationビルドの使用
C#が含まれたVisual Studioがインストールされていると仮定します。また、最新バージョンが必要だと仮定します。