2

script# プロジェクトの最終的な .js および .debug.js ファイルを適切なディレクトリにコピーするために、ビルド後のイベントを作成しようとしています。別のプロジェクトを参照する複数のプロジェクトがあり、常にビルド エラーが発生するため、通常の出力フォルダーを使用できません (別のプロセスで使用されているため、参照されたスクリプトをコピーできません)。

問題は、C# コンパイラが実際の .js ファイルを書き込む前にビルド後のイベントを実行しているように見えるため、ビルド後のイベントが発生したときにファイルが存在しないことです。

これを機能させるための他の解決策はありますか?

4

2 に答える 2

0

これを回避するには、script#プロジェクトの出力を使用していたプロジェクトのビルド前の手順として「copy」コマンドを追加し、次に、script#プロジェクトが最初にビルドされるように依存関係を追加しました。

于 2013-02-25T18:11:37.657 に答える
0

csproj で DeploymentPath プロパティを設定すると、生成されたスクリプトがそこにコピーされます。

すべてのロジックはここにあります: https://github.com/nikhilk/scriptsharp/blob/cc/src/Core/Build/Tasks/ScriptCompilerTask.cs ...別のオプションは、ビルドタスクを正確にカスタマイズすることです要件。

github リポジトリをチェックアウトした場合の最新の作業には、msbuild プロジェクトのビルド ステップ中に実行されるビルド プロセスの script# 部分も含まれているため、ビルド後のステップを解放して、やりたいことを実行できます。生成されたスクリプトで。https://github.com/nikhilk/scriptsharp/blob/cc/src/Core/Build/ScriptSharp.targetsを参照してください。繰り返しますが、これは単に msbuild のものであるため、ニーズに合わない場合は、.targets ファイルを好みに合わせてカスタマイズすることもできます。

于 2013-01-11T22:06:26.880 に答える