問題タブ [msbuildcommunitytasks]
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.
c# - FxCopは私の除外を尊重していません
FxCopをビルドに直接組み込んでいます。MSBuildコミュニティタスクを使用しています。私はこのようなターゲットファイルを持っています:
[SuppressMessage]警告を追加しても出力に表示されることを除いて、問題なく機能しています。.fxcopプロジェクトファイルを作成し、出力アセンブリを含めて、そのように実行しようとしましたが、同じことが起こります。FxCopは私の抑制を尊重していないようです、何かアイデアはありますか?
動作していない抑制の例を次に示します(GlobalSuppressions.cs)。
これはfxcopツールによって生成されました。何か案は?
visual-studio - UseHostCompilerIfAvailable Falseにより、「動的式のコンパイルに必要な1つ以上のタイプが見つかりません」というエラーが発生します。
に設定すると、C#dynamic
タイプはコンパイルされないようです。私は必要な参照と私のプロジェクトの両方を持っていますが、それを認識することを拒否します。ただし、統合されたVisualStudioコンパイラの使用は機能します。UseHostCompilerIfAvailable
false
Microsoft.CSharp
System.Core
問題のある行は次のとおりです。
msbuild - MSBuild コミュニティ タスク ドキュメント
それは私だけですか、それともこのプロジェクトのドキュメントは本当に不足していますか?
一般的に、FtpCreateRemoteDirectory と FTP 機能を使用する方法を見つけようとしていますが、何も見つからないようです。
FtpCreateRemoteDirectoryをグーグルで検索すると、プロジェクトのソースコードのみが表示されます...
msbuild - TeamCity + WiX+MSBuildワークフローの提案が必要
私は継続的インテグレーションプロジェクトの次のステップに取り組んでいます。それは、TeamCityにアプリケーションをビルドさせ、すべてのアセンブリのバージョン番号を自動的に変更してから、インストーラーを作成することです。
最初に少し背景:
私は過去数か月間TeamCityを正常に実行しており、構成を構築し、NUnitテストとNCoverテストを正常に実行しています。
私はインストーラーの調査に少し時間をかけました-私は常にInstallShieldを嫌い、現在のアプリケーションではそれを考慮していませんでした。私はNSISが好きですが、たまたまWiXに出くわしました。複雑なプロジェクトでは危険であると理解しているMSインストーラアーキテクチャについての深い知識がないので、ある時点でそれについてさらに学ぶ必要があります。しかし、SOの質問、グーグル、ブログの閲覧を数日間行った後、WiXプロジェクトが正常にビルド、インストール、アプリケーションの実行、すべてが正常にアンインストールされました。素晴らしい!
また、TeamCityビルド構成で、すべてのアセンブリのバージョン番号を自動的に更新する必要がありました。開発マシンにMSBuildコミュニティタスクをインストールし、 BeforeBuildターゲットとFileUpdateタスクを使用してバージョン番号を変更する展開構成を作成することで、この機能をモックアップすることができました。これは適切に機能しますが、開発マシンには、置き換えるbuild_vcs_number_1環境変数がありません。
これが私が今いる場所です。TeamCityに更新を行わせる必要があります。build_vcs_number_1環境変数はありますが、WiXMSBuildコミュニティタスクを取得する方法がわかりません。
私が読んだある投稿では、MSBuildターゲットをSVNフォルダーにチェックインすることをお勧めします。このようなもののための/extlibフォルダーがあるので、TeamCityVCSチェックアウトルールは次のようになります。
環境変数からextlibにアクセスするにはどうすればよいですか? ビルドを実行すると、TeamCityはが見つからないと文句を言います(正しくはそうです)c:\wix30\MSBuildCommunityTasks
。実際のフォルダはC:\TeamCity\buildAgent\work\3e073d2b74226378\extlib\wix30\MSBuildCommunityTasks
です。サーバー側のチェックアウトを実行しているため、フォルダーは自動生成されます。そのため、正しいパスを取得するために使用できるTeamCityが設定する環境変数が必要です。
注意すべき点の1つは、ビルド構成->プロパティと環境変数に移動し、既存のすべての変数を含む直感的でないドロップリストを見つけましたが、作業パスを指す変数のように聞こえるものは何も表示されなかったことです。
考えられる回避策の1つは、ビルドサーバーにMSBuild Community Tasksをインストールするだけで、からアクセスできるシステム環境変数を作成できます<WixToolPath>
。
他に何か提案はありますか?
msbuild - MsBuild出力をコピーし、パスの一部を削除します
さまざまなソリューションをビルドし、Web配置プロジェクトの出力を次のように2つのサブフォルダーを持つ宛先フォルダーにコピーするMsBuildプロジェクトがあります。
WDP出力フォルダーは、BuildFolderの「リリース」からコピーされます。
$(Configuration)
これは機能しますが、出力から値を削除したいと思います。
したがって、必要な出力フォルダのレイアウトは次のようになります。
「リリース」フォルダの削除に注意してください
私のコードは以下の通りです。
これを変更して、希望するものを提供するにはどうすればよいですか。
コードの抜粋は次のとおりです
msbuild - msbuildでパスを操作する
msbuildとmsbuildコミュニティタスクを使用して仮想ディレクトリをセットアップしようとしていますが、の外部にある相対パスを指定する方法が見つかりません$(MSBuildStartupDirectory)
。
私のプロジェクトは次のように構成されています。
私がやりたいことは次のようなものです(それはを$(MSBuildStartupDirectory)
指していることに注意してくださいc:\proj\build
):
残念ながら、これは機能しません。「..」は解決されず、仮想ディレクトリは。を指しc:\proj\build\..\src\website
ます。
誰かがmsbuildで(相対)パスを操作する方法のヒントを教えてもらえますか?
msbuild - XmlMassUpdate複数の値(MSBuildコミュニティタスク)
次の設定の構成ファイルがあるとします。
私の人生では、XmlMassUpdateに次のものを挿入する方法がわかりません。
結果は次のようになります。
私が狙っているのは:
編集:私は一時的な解決策を見つけました(以下を参照)...しかし、それでももっと良いものに興味があります。
visual-studio-2008 - MsBuildを介した公開とIDEを介したVisualStudio公開ウィザードの違いは何ですか?
Webで検索しましたが、以下のこの質問に対する満足のいく答えは見つかりませんでした。
私は現在、選択した環境(DevまたはProd)に基づいてwinformアプリケーションを公開するためのmsビルドに取り組んでいます。私はMsBuildCommunity Taskを使用しており、この目的を達成するためにこの記事を参照しています。
アプリケーションの公開に基づいて、いくつかの理論的な疑問がありました。
1)Visual Studio ideとmsbuildを使用した公開に違いはありますか?
2)ほとんどの開発者は何を使用することを好みますか?その理由は何ですか?
3)Visual Studio IDEを介して公開する場合と比較して、MsBuildを使用してアプリケーションを公開することの利点は何ですか?
4)何が速いですか?
5)アプリケーションの保守とデバッグにワンステップビルドが適していると言われるのはなぜですか?
Csharpで開発された.net3.5winformアプリケーションを使用していますが、質問はClickonceWindowsアプリケーションのみに関するものです。これらの疑問を解決するのを手伝ってください。どんな意見でもありがたいです。
nhibernate - MSBuildContribXMLMassUpdateおよびNHibernate構成
MSBuildファイルを作成して、複数のWebサイトのセットを複数の環境に展開しようとしています。現時点では、プロジェクトをビルドして、ディレクトリにダンプしています。
変数$(AdminConsoleConfigFilePath)を使用して、このディレクトリ内のweb.configファイルのパスを参照しています。私の置換ファイルは、変数$(AdminConsoleConfigReplacementFile)で示されます。プロジェクトのmsbuildファイルに次のタスクを設定しました。
`
ここでの他の変数の値は、次のように宣言されています。
環境は、ビルドの対象となる場所の名前です。この場合、それは「qa」です。
私のweb.configには、次のような典型的なhibernate-configセクションがあります。
私の置換ファイルは次のようになります。
現在、connection.connection_stringプロパティは置き換えられていません(上記のコードでは、このサイトのエディターに表示する構成と置換の終了タグを取得できませんでした-Firefoxの問題である可能性があります)。何か案は?私は次のことを試しました:
- 問題のweb.configと置換ファイル(一緒におよび個別に)からnhibernate-configurationの名前空間宣言を削除します。
- nhibernate宣言に名前空間プレフィックスを追加し、関連するノードと属性にプレフィックスを付けます。繰り返しになりますが、web.configと置換ファイルの両方を個別にまたは組み合わせて試してみました。
- MSBuildcontribプロジェクトからの最新のナイトリービルドを使用しようとしました。これはうまくいかなかっただけでなく、他のことも壊しました。
- XPathベースのxmu:Locatorを使用してみました。また、xmu:key値を使用する場合と使用しない場合の両方を試しました(さらに、xmu:Keyに置き換えてみました)。
私は絶対に困惑しています。XMLMassUpdateはまったく機能しますか?ジュニア開発者または請負業者を受け入れる場合に備えて、web.configのqaバージョンと製品バージョン(または少なくともさまざまな機密ビット)をコードの本体から除外したいので、現在の方法はweb.qa.configとweb.prod.configは、現時点では実際には実行可能ではありません。これを実装する方法について何か考えはありますか(各環境の完全なweb.configのコピーを保持し、ビルド後にコピーするという明白なもの以外に)?
ありがとう、ウィル
tfs - チーム ビルドでの発行バージョンのプロジェクト プロパティの編集
TFS サーバーに夜間ビルドがあり、毎晩実行され、完全に正常に動作しています。手動で入力する代わりに、ビルドごとに自動的にインクリメントするパブリッシュ バージョン (ApplicationVersion) を除いて、現在正常に動作している clickonce アプリケーションも作成する予定です。言及すべき重要な点は、ビルドごとにリビジョン パーツを 1 ずつ増やしたいということです。たとえば、初回の場合は 1.1.1.1、次のビルドの場合は 1.1.1.2 です。
アセンブリのバージョン管理については多くの情報が利用可能であるため、まったく興味がありません。アプリケーションのバージョンを増やしたいだけなので、この方向に向けてください。
私の VS および TFS サーバーは 2008 です。この場合、projecte-g の InstallUrl を編集するために行うように、ビルド前に公開バージョンを編集する方法はありますか?
公開バージョンは、
私のシーンでは、次のように定義されています
その後
ただし、最初の実行後に値がインクリメントされることはありません。最初の実行後、値は常に 1.9.4.1 です。次のビルドのためにインクリメントする方法はありますか? でアプリケーションのリビジョンを試しまし*+1
た#+1
...