1. ホーム
  2. c#

[解決済み] Could not find a part of the path ... binroslyncsc.exe

2022-01-26 23:23:49

質問

TFSソースコントロールから取得したAsp.net MVCプロジェクトを実行しようとしています。私はすべてのアセンブリの参照を追加し、私はエラーや警告なしで正常に構築し、コンパイルすることができます。

しかし、ブラウザで以下のようなエラーが表示されます。

パスの一部が見つかりませんでした 'C:\B8akWorkspaceProjectB8akSolutionB8AK.Portalbinroslyncsc.exe'.

以下は、エラーページの全画面ショットです。

数日間の調査の後、私は以下のことを理解しました。 ロスリン は、高度なコンパイル機能を提供する.Netコンパイラ・プラットフォームです。しかし、Roslynに関連する設定は何もしていないし、私のプロジェクトでRoslynを使用するつもりもないのに、なぜ私のビルドは \binroslyncsc.exe を見つけようとするのか理解できないのです。

どうすればいいですか?

VS2015のデフォルト・テンプレートの問題は、コンパイラが実際にはtfrbinroslynディレクトリにコピーされず、{outdir}roslyn}ディレクトリにコピーされることです。

.csproj ファイルにこのコードを追加します。

<Target Name="CopyRoslynFiles" AfterTargets="AfterBuild" Condition="!$(Disable_CopyWebApplication) And '$(OutDir)' != '$(OutputPath)'">
    <ItemGroup>
      <RoslynFiles Include="$(CscToolPath)\*" />
    </ItemGroup>
    <MakeDir Directories="$(WebProjectOutputDir)\bin\roslyn" />
    <Copy SourceFiles="@(RoslynFiles)" DestinationFolder="$(WebProjectOutputDir)\bin\roslyn" SkipUnchangedFiles="true" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" />
</Target>