私はRoslynにいくつかの変更を加えて遊んでいますが、残念ながらVisualStudioSetup.Next
を実行してMSアセンブリを読み込もうとすると修正されない解決策がクラッシュします。だから私はいくつかの簡単な変更を加え、私のマシンの既存のバイナリと設定ファイルを新しいビルドに置き換えました。変更はC:/Program Files (x86)/MSBuild/bin and Windows/Microsoft.NET/Framework64
で行われました。C#コンパイラを新しいRoslynビルドに置き換える
CSC、VBCSCompiler、DLL、および設定ファイルを置き換えると、いずれのビルドでもcsc.exe
がエラーをスローします。マニフェストで異なるバージョンのCodeAnalysis.CSharp
DLLが指定されていると不平を言います。ファイルまたは名前のパスを指定しません。私は上記のフォルダにあるconfigsとDLLの両方を新しいビルドに置き換えました。正しく動作するためには、実際にどのファイルを交換する必要がありますか?
CSCのすべてのインスタンスについてドライブ全体を検索し、すべての設定で新しいバージョンのDLLが指定されていることを確認しました。そのため、今どこを見てもわかりません。
MSBuildにパラメータを渡すこともcsprojファイルにセクションを追加してコンパイラバイナリ用のディレクトリを指定することもできますが、私はこの点で勝利したいと思います。
編集:私は自分のビルドのバージョン番号を変更することにしました。 VSのアセンブリプロパティを使用すると、ビルドが失敗します。 MSBuildを使用しようとしましたが、このエラーが発生したすべてのプロジェクトで失敗します。
"F:\Git\Repos\roslyn\src\Compilers\CSharp\csc\csc.csproj" (default target) (1) ->
F:\Git\Repos\roslyn\build\Targets\Versions.props(42,5):
error MSB4184: The expression ""1".Substring(3)" cannot be evaluated.
startIndex cannot be larger than length of string.
Parameter name: startIndex F:\Git\Repos\roslyn\src\Compilers\CSharp\csc\csc.csproj]
VSからは問題ありません。
のMSBuildのparams:/p:OfficialBuild=true /p:BuildNumber=1.3.1.60616 /p:Configuration=Release
あなたのしていることは少し汚れているようです。 –
@MathiasLykkegaardLorenzenはい。私のチームはいたずらを引いて逆戻りするのが好きです。だからこそ、新しいコンパイラを使うためのビルドparamsの変更だけに熱心ではない。 –
あなたが達成しようとするものは非常に興味深いですが、あなたの目標が何であるか教えてください。 Visual Studioのインストールのcsc.exeを置き換えようとしていますか? Visual Studioで更新されたcscをコンパイルすると、exeが使用されるようになりますか? –