問題タブ [pre-build-event]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio-2013 - Visual Studio は、常に実行されるビルド前のイベントを追加します (C# プロジェクト)
私のプロジェクトでは、いくつかのバイナリ ファイルを更新するために外部ツールを実行しています。これらのファイルは「コンテンツ」としてプロジェクトに含まれます。
現時点では、ツールは C# プロジェクト プロパティの「ビルド前イベント」中に実行するように設定されています。残念ながら、このイベントはプロジェクトが古くなっている場合にのみ実行されます。これは私が必要としているものではありません。
プロジェクトで常に「ビルド」ではなく「リビルド」を使用してこの問題を回避していますが、これは面倒で時間がかかります。
プロジェクトが最新かどうかに関係なく、このツールを常に実行する必要があります。実際には、MSBuild がプロジェクトが最新かどうかを判断する前に、ツールがプロジェクトに含まれるファイルの一部を変更し、最新のチェック結果に影響を与えるためです。
それを行う適切な方法はありますか?
vbscript - vs2005 で pos-build または pre-build イベントで vbs ファイルを実行するには?
ソリューション内にいくつかのプロジェクトがありますが、x64 と win32 が必要なため、セットアップ プロジェクト用に異なるリリースといくつかの異なるファイルがあります。セットアップ プロジェクトをビルドする前に、zip ファイルを解凍する必要があります。ファイルを解凍するのに適したvbsファイルがありますが、要点は、ビルド前にvbsファイルを実行するコードがわからないということです。
xml - プロジェクトをビルドするかスキップするかを「ビルド前」スクリプトで決定できますか?
TL;DR
ビジュアル エラーなしでプロジェクトのビルドをスキップする Visual Studio ビルド前イベントを使用できますか?
詳細
pre-build
カスタム XML ファイルと、イベント中に XML からリソース ファイルを生成する Powershell スクリプトを含むプロジェクトがあります。
私の目標は、XML ファイルに変更がある場合にのみプロジェクトをビルドすることです。ファイルが変更されたかどうかは既に判断できますが、ビルドをスキップするように Visual Studio に通知することはできません。0
終了コード(ビルドを続行できる) またはその他の番号 (エラー リストに醜いエラーを表示) でスクリプトを停止します。
pre-build
プロジェクトをビルドするかスキップするかをスクリプトで決定できますか?
例
openshift - Red Hat OpenShift でアクション フックを実行するには?
OpenShift のアクション フック スクリプトに関するドキュメントを読み、pre_build
OpenShift ギアで次のコマンドを使用してアクション フックを作成しました。
その後pre_build
、OpenShift アプリケーションの Git リポジトリにファイルを作成し、リポジトリにプッシュしました。私の OpenShift へのデプロイは Travis CI によって実行され、次の応答がありました。
そこでgit update-index --chmod=+x .openshift/action_hooks/pre_build
、(Windows で実行しているため) 実行し、そのpre_build
ファイルをリモート Git リポジトリに再度プッシュしました。
次のメッセージが表示されます。
pre_build
ファイルが見つからないというメッセージが表示されるのはなぜですか? OpenShift ギアに (SSH 経由で) ログインすると、次のようになります。
これは私のpre_build
ファイルです:
delphi - ビルド前イベントによる変更後に開いているファイルを自動的に更新する方法
Delphi XE3 には、.pas ファイルを生成するビルド前のイベントがあります。生成されたファイルはプロジェクトの検索パスにあり、これは正常に機能します。
これらのファイルの 1 つが現在 Delphi エディタで開かれている場合でも、ビルド前イベントは正常に実行され、.pas ファイルが更新されます。問題は、Delphi-IDE がこのファイルが変更されたことに気付かないことです。つまり、別のプログラムに切り替えてから Delphi-IDE に戻ると、変更が認識され、エディタでファイルを更新するかどうか尋ねられます。
ビルド前のイベント コマンドでこの動作を強制する方法はありますか?
c# - ビルドごとに一意のアセンブリ名
ビルド中に dll のアセンブリ名を変更しようとしています。csproj ファイルのアセンブリ名を変更する別の exe を作成しました。これはビルド前に実行します。しかし、csproj ファイルへの変更は、ビルドが終了した後にのみ有効になるようです。もちろん、これは私が望んでいるものではありません。
アセンブリ名は、ビルドするたびに一意にする必要があるため、GUID を追加して作成します。
ビルド前に csproj を「強制的に」リロードする方法があるかどうか、またはソリューションをビルドするたびに一意のアセンブリ名を取得できる別の方法があるかどうか疑問に思っていました。
java - Android Studio Gradle ビルド前のステップ
Gradle がビルドの進行を開始する前に、別のアプリケーション (exe) を実行したいだけです。私の目標は、UI に表示するビルド番号を含む依存ファイルを exe (既に作成済み) に自動生成させることです。上記はすべて簡単ですが、Gradle についてはほとんど何も知りません。
この質問は尋ねられましたが、回答はGradleタスクを使用したGradleの簡潔なスニペットであり、あまり説明していません.
異なるプロジェクトで同じ exe を使用したいので、auto-gen ファイルの場所を指定するコマンド引数が必要です。
"buildnum.exe /someworkspace/someproject/somefolder/version.java"
これを実行するにはどうすればよいですか?典型的な build.gradle スクリプトを使用しています。
visual-studio - Visual Studio Online のビルド前のステップが失敗する
CI に Visual Studio Online を使用しています。リリース ビルドをセットアップしました。私のプロジェクトの 1 つに、デバッグ ビルドでのみ実行するビルド前のステップがあります。
ただし、VSO はコマンドがステータス 1 で終了したというエラーでビルドに失敗します。
開発者のマシンで Visual Studio を使用して実行すると、同じビルドが正常に実行されます。
c++ - TeamCity ビルドでビルド前イベントがエラーコード 3 で失敗するのはなぜですか?
継続的インテグレーションに TeamCity を使用しています。ソリューション内の私のプロジェクトの 1 つに、ビルド前のイベントがあります。プロジェクトをローカルでビルドすると、正常に動作します。ただし、TeamCity では、エラー コード 3 でビルドが失敗しました。ビルド前イベントは、Google プロトコル バッファーの proto ファイルをビルドし、C++ ヘッダーと C++ ソース ファイルを作成するためのものです。
以下は、ビルド前のイベントです。
TeamCity ではこのエラーが発生するのに、ローカルでは発生しないのはなぜですか? このエラーを修正する方法についてのアイデアはありますか?
entity-framework - Entity Framework データベース スキーマを変更するための Visual Studio のプレビルド スクリプトが機能しない
私の目標は、ビルド前のスクリプトを使用して、コンパイラの構成 (デバッグ/リリース/その他..) に応じてスキーマを変更することです。
コードを使用して実行時にスキーマを変更するソリューションがいくつかあることがわかりました。ビルド前のスクリプトを使用して edmx ファイルを変更する別の方法を採用しました。これは機能していません。なぜこれが機能しないのか疑問に思っています (私は、より良い/別のアプローチを探しているわけではありません)。
私のアプローチは次のとおりです。ビルド前のイベントで、文字列 Schema="dbo" を Schema="dbo2" に変更して edmx ファイルを変更するスクリプトを追加しました。
ビルド後のイベントで、ファイルを返すスクリプトを追加しました (Schema="dbo2" から Schema="dbo" へ)。
また、コンパイラ構成を処理する条件を設定しました。
if $(ConfigurationName) == Release
したがって、次のようになります。
ビルド前:if $(ConfigurationName) == Release setdbo2.bat
ポストビルド:if $(ConfigurationName) == Release setdbo.bat
また、edmxファイルの内容をbatファイルにダンプしてみました。ビルド前のスクリプトが edmx ファイルのスキーマを正しく変更し、ビルド後のスクリプトがそれを正しく元に戻すことを確信しています。私が経験しているバグは、スキーマの変更をビルドすると、結果のアセンブリに反映されないことです (ビルド前のスクリプトがないかのように動作します)。ビルド前のスクリプトが実行されていることはわかっており、これはビルドの出力から確認できます。
切り取りの前に、edmx ファイルを出力画面にダンプすると、実際に edmx ファイルが期待どおりに変更されていることがわかります。ただし、アセンブリ内に含まれる myProjectDMO.ssdl ファイルには、スクリプトの実行前に edmx が持っていたものが含まれています。
ビルド後のスクリプトを完全に削除した場合 (コンパイル後に ssdl が生成/追加される可能性があると考えて)、ssdl も影響を受けません。
そのため、ビルド前のスクリプトが実行される前にssdlファイルが生成されるようです。
これが事実であるかどうか誰かが知っていますか?もしそうなら、これに対処するためのある種のプレビルドスクリプトがありますか?
- 詳しくは -
出力ビルド ウィンドウの冗長性を設定できることがわかりました。そこから私はこれを得ることができました:
edmx ファイルは、ビルド前イベントの前に処理されます。この問題は、ファイルのメモリ内キャッシュに関連していないようです。
質問は、ビルド前のスクリプトはありますか? それとも、tt ファイルやその他のコード生成イベントをいじり始める必要がありますか?