問題タブ [msbuild-target]
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.
msbuild - TeamCity によってビルドされた MSBuild プロジェクト内のパラメーター %build.counter% にアクセスします
TeamCity によって設定されるはずの `%build.counter% パラメーターにアクセスしようとするターゲットを持つ MSBuild/C# プロジェクトがあります。
TeamCity プロジェクトのビルド設定でアクセスできますが、スクリプトではこれは機能しません。
このパラメーターにアクセスすることはまったく可能ですか?公開されていますか?
visual-studio - 自動パッケージ復元で msbuild ターゲットを含む nuget パッケージを使用する
Nuget ドキュメントに従って、MSBuild .targets および .props ファイルを含む nuget パッケージを作成しています(nuget 2.5 以降が必要です)。
自動パッケージ復元で使用する予定です。
結果のパッケージを csproj に追加すると、次の 2 つのことが起こります。
予想通り:
期待できません:
これは、MSBuild 統合パッケージ復元スキャフォールディングの「予期しない」動作です。
ドキュメントに従ってこのスキャフォールディングを手動で削除しましたが、プロジェクトをビルド サーバーに送信すると、automaitc-package-restore によってスキャフォールディングが追加されたように見え、ビルドが失敗します。
パッケージに msbuild ターゲットが含まれている場合、この足場が含まれないようにする方法はありますか?
アップデート
解決策の代わりに、回避策を試しました。つまり、不足している nuget.targets ファイルに対処するために、別の nuget パッケージを作成しました。プロジェクトに追加すると、この新しいパッケージ自体に DependsOnTargets EnsureNuGetPackageBuildImports というターゲットが含まれ、空白/有効な nuget.targets が作成されます。これは、csproj スキャフォールディングからトリガーされた条件を満たしながら、ビルド サーバーで nuget 自動パッケージ復元機能を引き続きトリガーできるようにします。
visual-studio-2013 - エラー MSB4057: ターゲット "v8" がプロジェクトに存在しません
公式のビルド スクリプトを使用し、公式のWindows ビルド手順に従って、 ArangoDBの一部として V8 をビルドしようとしています。
すべての v8* ターゲットでコンパイルが失敗します ( v8-build.bat
):
エラー MSB4057: ターゲット "v8" がプロジェクトに存在しません。
Visual Studio でソリューション ファイルを開くと、次のようになります。
私はビルドできv8
、VSでうまくv8_libbase
いきます。v8_libplatform
- ウィンドウズ7 64ビット
- Visual Studio 2013 アルティメット
- シグウィン 2.2.0
- cmake 3.3.1
msbuild - MSBuild: ソリューションが指定されたときにカスタム プロジェクト ターゲットをビルドする
複数の構成があるため、MSBuild を使用してソリューション レベルでビルドする必要があります。出力をパブリッシュする Web プロジェクトにカスタム ターゲットがあります。Web プロジェクトをターゲットとして指定すると、正常にビルドされます。しかし、Web アプリケーションを公開する必要があります。ソリューション レベルでビルドするときに、プロジェクトのカスタム ターゲットをビルドする方法はありますか?
このリンクを見つけましたが、解決策がわかりません。誰かがそれを少し分解できれば、それは大いに役立つでしょう.
これは、現在の PowerShell コマンドラインがどのように見えるかです。
これ:PublishToFileSystem
により、次のメッセージが表示されて失敗します。
.csproj ファイルのカスタム ターゲットは次のようになります。
visual-studio-2013 - Microsoft.Web.Publishing.targets はどこにありますか?
MSBuild プロジェクト ファイルが Microsoft.Web.Publishing.targets を参照しています。Microsoft は MSBuild がスタンドアロン インストールであると言っていますが、このファイルが MSBuild の一部であるとは思いません。ビルドサーバーをセットアップしようとしています。この場所にこのファイルが表示されません。そのサーバーに.Net 4.5.2をインストールしました。
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\vXX.X\Web\Microsoft.Web.Publishing.targets
私が見つけた調査の後、その場所にこれを取得するにはVisualStudioをインストールする必要があります。
質問
Visual Studio をインストールせずに、このターゲット (およびこの場所にある他のターゲット) をインストールする方法はありますか?
nuget - NuGet パッケージへの x86 および x64 ライブラリの追加
特定のプラットフォーム用のライブラリを構築する必要がある CefSharp に依存するライブラリを作成しました。したがって、AnyCPU のサポートはありません。
これを NuGet にパックしたいと思います。私が理解している限りでは、これらのファイルをビルド フォルダーに配置し、.targets
参照する正しい dll を選択するファイルを用意する必要があります。したがって、最終的には次のような NuGet パッケージになりました。
.targets
ファイル内に次のように記述します。
ここまでは順調ですね。今問題に。この NuGet を新しい WPF プロジェクトに追加すると、ライブラリへの参照が次の.csproj
ようにファイルに表示されます。
.targets
ファイルについては何も言及されていませんが。これはまだ NuGet 3 で行う方法ですか? 私は何か間違ったことをしましたか?現在、x86 ライブラリへの参照が原因で、x64 を実行している場合、これは実行時に失敗します。
.net - MSBuild で再帰的にコピーされたフォルダーが 1 つのフォルダーに誤ってコピーされる
MSBuild ターゲット/xml 構成ファイルを作成しています。
プロジェクトのソース フォルダーにコピーしたい 2 つのフォルダーがあるとします。これらのフォルダー (およびその内容) だけをコピーし、他のフォルダーは無視したいと考えています。
以下の仕様は正しいファイルをコピーしていますが、それらはすべて 1 つのフォルダーにダンプされているだけです。最上位の 2 つのフォルダー (bin と obj) は失われ、それらの内容は 1 つのフォルダーに結合されます。
基本的に、2 つのフォルダーを、それらとその内容とまったく同じように、新しい最上位フォルダーにコピーしたいと考えています。
脚本
最上位のフォルダーだけをコピーする最も簡単な方法は何ですか。PackagedFiles のワイルドカードは、これらのフォルダー内のすべてを指していると思います。作業ディレクトリの上のフォルダーからこれを行うことはできません。他のすべてのフォルダー (必要なフォルダー、bin および obj だけでなく) をコピーするためです。
ありがとう。
msbuild - ビルド ターゲット ツール パス
私は現在、コード ジェネレーター プロジェクトtools
の nuget パッケージをパッケージ化していますが、実行可能ファイルをディレクトリに、ビルド ターゲットをプロセスに含めるところまで来ました。
nuspec の一部
cgbr.targets
ファイルの内容
パッケージをインストールすると、ビルド プロセスに含まれていることがわかります。残念ながら、へのパスcgbr.exe
が無効で、少し行き詰まっています。もちろん使用できます$(SolutionDir)packages\CGbR.0.3\tools\cgbr.exe
が、バージョンを変更するたびに変更する必要はありません。
明確にするために: パッケージ ツール パスへのパスが必要です。
編集:関連する投稿を見つけました