タグ付けされた質問 「msbuild」

Microsoft Build Engine(MSBuildとも呼ばれます)は、マネージコードのビルドプラットフォームであり、.NET Frameworkの一部でした。

9
MSBuildスクリプトに関する優れたチュートリアルはありますか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 5年前に閉鎖。 この質問を改善する 私はWebアプリケーションプロジェクトに取り組んでおり、ビルドスクリプトを作成する必要があります。cruisecontrolサーバーからトリガーできるビルドスクリプト。nantは長い間維持されていなかったので、MSBuildが進むべき道だと思います。 できるようにビルドスクリプトが必要です すべてのアセンブリをコンパイルする 単体テストを実行する 単体テストでNCover分析を実行する データベースをデプロイします(パラメーターによって異なります)。データベースをデプロイするための独自のツールを作成することになるので、これは実際にツールを実行しています。ただし、ツールの実行は、いくつかのコマンドラインパラメータに基づいて条件付きである必要があります。 単体テストとカバレッジの結果を、cruisecontrolが読み取って理解できる形式で提供します。 MSBuildを使用すると、これらすべてを実行できると思います。しかし、どこから始めればよいかわかりません。ビルドスクリプトを開始するための優れたチュートリアルを知っている人はいますか?

4
特定のMSBuild警告を抑制する方法
コマンドラインからMSBuildを実行するときに、特定のMSBuild警告(MSB3253など)を無効にする方法はありますか?私のビルドスクリプトは、msbuild.exeを次のように呼び出します。 msbuild.exe MySolution.sln /t:Rebuild /p:Configuration=Release msbuild.exeの別のパラメーターを使用して、C#警告(CS0618など)を抑制できることがわかりました。 msbuild.exe MySolution.sln /t:Rebuild /p:Configuration=Release /p:NoWarn=0618 ただし、このアプローチはMSBuildの警告に対しては機能しません。たぶん設定する別の魔法のプロパティがありますか? .NET 3.5とVS2008を使用しています。

2
msbuild.exeを開いたままにし、ファイルをロックする
私はmsbuild(.NET 4)を呼び出すTeamCityを使用しています。ビルドが完了した後(ビルドが成功したかどうかは関係ないようです)、msbuild.exeが開いたままで、ファイルの1つをロックするという奇妙な問題があります。これは、TeamCityが試行するたびに作業ディレクトリをクリアしようとすると失敗し、続行できません。 これはほぼ毎回発生します。 私はこれに本当に夢中になっているので、私はできるだけ多くの詳細を提供するよう努めます。 サーバーはIntel Core i7、2 GB RAM、Windows Server 2008標準64ビットSP2です。 TeamCityでは、msbuildランナーは/mコマンドラインパラメーターで構成されます(複数のコアを使用することを意味します) 問題のファイルは、.NETプロジェクトの1つで参照されている外部DLL と常に同じExternal Tools\Telerik\Telerik.Reporting.Dllです。(External Toolsこの問題を引き起こさない同様のパス構造のディレクトリに含まれる他のいくつかの.DLLファイルがあります)。現在、違いがある場合に備えて、Telerikレポートの試用版を使用しています。 問題が発生すると、msbuild.exe *32タスクマネージャーに常にいくつかのプロセスが一覧表示されます。それらはすべて20-50MBのRAMと0.0%のCPUを使用しています。 1〜3分待つと、msbuild.exeプロセスは自動的に終了し、TeamCityは作業ディレクトリを適切に更新できます。 msbuildプロセスを手動で終了した場合、TeamCityの更新はすぐに再び機能します。 Windowsではインデックスサービスが無効になっています(ただし、前の2つの点で、msbuild.exeが問題の原因であることはほぼ確認されています)。 Telerik.reporting.dllには特別なプロパティはありません。唯一のSVNプロパティはsvn:mime-type = application/octet-stream 誰かがこれに遭遇したことがありますか?
97 msbuild  teamcity 

4
どのようにcsprojで.NET Coreクラスライブラリをマルチターゲットしますか?
.NET Coreがまだこのproject.json形式を使用している場合、複数のフレームワーク(net451、netcoreapp1.0など)をターゲットとするクラスライブラリを構築できます。 公式のプロジェクト形式がcsprojMSBuildを使用しているので、ターゲットにする複数のフレームワークをどのように指定しますか?私はVS2017でのプロジェクト設定からこれを見てしようとしていますが、私は(それも、私は他の完全な.NET Frameworkのバージョンが表示されませんだけで、.NETのコアフレームワークから単一のフレームワークをターゲットにすることができる午前んインストールされているが) :

10
msbuildを使用してすべてのファイルとフォルダーをコピーする
誰かが私が書こうとしているmsbuildスクリプトで私を助けることができるかどうか疑問に思っています。msbuildを使用して、すべてのファイルとサブフォルダをフォルダから別のフォルダにコピーします。 {ProjectName} |----->Source |----->Tools |----->Viewer |-----{about 5 sub dirs} 私ができる必要があるのは、すべてのファイルとサブフォルダーをtoolsフォルダーからアプリケーションのデバッグフォルダーにコピーすることです。これは私がこれまでに持っているコードです。 <ItemGroup> <Viewer Include="..\$(ApplicationDirectory)\Tools\viewer\**\*.*" /> </ItemGroup> <Target Name="BeforeBuild"> <Copy SourceFiles="@(Viewer)" DestinationFolder="@(Viewer->'$(OutputPath)\\Tools')" /> </Target> ビルドスクリプトは実行されますが、ファイルやフォルダはコピーされません。 ありがとう


30
ソリューションの構築時にVisual Studioがプロジェクトをスキップする理由を特定する方法
私は誰か他の人の仕事をデバッグしていて、解決策は非常に大きいです。すべてをビルドしようとすると、ソリューション内のいくつかのプロジェクトがビルドされず、スキップされます。ビルドプロセス中に出力ウィンドウを表示すると、次のようになります。 1> ------すべて再構築をスキップ:プロジェクト:pr1lib ------ これらのビルドがスキップされた理由を確認するにはどうすればよいですか?追加の出力を見つけることができません。 これはVS2008であり、ソリューションはc#およびc ++コードで構成されています。

17
Visual Studio内のbinおよびobjフォルダーを完全にクリーンアップする方法は?
フォルダを右クリックすると、「クリーン」メニュー項目が表示されます。これにより、objおよびbinディレクトリーがクリーン(削除)されると想定しました。しかし、私が見る限り、何もしません。別の方法はありますか?(Windowsエクスプローラーやcmd.exeに移動するように言わないでください)objとbinフォルダーを削除して、簡単に全体を圧縮できるようにします。

26
「outputpathプロパティがこのプロジェクトに設定されていません」エラー
Visual Studio 2008にマルチプロジェクトソリューションがあります。Release-VersionIncrementと呼ばれる新しい構成をソリューションに追加し、「リリースの使用」構成をベースラインとして指定しました。すべてのプロジェクトファイルがその構成で更新されました。しかし、この構成を使用して特定のプロジェクトをコンパイルしようとすると、次のエラーが発生します。 エラー5 OutputPathプロパティがこのプロジェクトに設定されていません。有効な構成/プラットフォームの組み合わせを指定したことを確認してください。Configuration = 'Release-VersionIncrement' Platform = 'AnyCPU' C:\ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets 539 9 DataConversion ここで何が起こっているのですか?プロジェクトはリリースまたはデバッグ構成で正常にコンパイルされます。

8
msbuildを使用してファイルシステムの公開プロファイルを実行する
VS2010で作成されたac#.Net 4.0プロジェクトがあり、現在VS2012でアクセスされています。 このWebサイトから宛先の場所(C:\ builds \ MyProject [Files])に必要なファイルのみを公開しようとしています。 私のファイル構造: ./ ProjectRoot / MyProject.csproj ./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml 私はMSBuildを介して以下を実行しています: C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe ./ProjectRoot/MyProject.csproj / p:DeployOnBuild = true /p:PublishProfile=./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml これがFileSystemDebug.pubxmlのxmlです <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <WebPublishMethod>FileSystem</WebPublishMethod> <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration> <LastUsedPlatform>Any CPU</LastUsedPlatform> <SiteUrlToLaunchAfterPublish /> <ExcludeApp_Data>False</ExcludeApp_Data> <publishUrl>C:\builds\MyProject\</publishUrl> <DeleteExistingFiles>True</DeleteExistingFiles> </PropertyGroup> </Project> 結果の動作は次のとおりです。 zipファイルは次の場所に作成されます:./ ProjectRoot / …

1
dotnetcliと新しいvs2017msbuildの関係
以下からの移行に伴いproject.json、新規にcsprojVS2017で導入された形式で、私は違いを理解するのに苦労していdotnetCLIと新しいmsbuildとときに、他の上で1つを使用する方法を。 1)新しいビルドするにはcsproj、私が呼び出しされなければならない、コマンドラインからnetstandardライブラリをdotnet例えば、CLI( dotnet restore dotnet build)または使用をmsbuild(たとえばmsbuild ExampleNetstandard.sln)。 2)また、私の理解では、の2つのバージョンがありmsbuild、1つは完全なフレームワークに基づいて構築され、もう1つはターゲティングに基づいていdotnet coreます。これは正しいです?私は常に使用する必要がありますdotnet version 3)dotnet cliスタンドアロンですか、それともmsbuildインストールする必要がありますか?たとえば、dotnet SDKをインストールすると、msbuildもインストールされますか?もしそうなら、これはvs2017でインストールされているバージョンとは異なりますか?

8
[出力ディレクトリにコピー]はフォルダ構造をコピーしますが、ファイルのみをコピーします
特定のファイルをディレクトリから自分の/bin/フォルダーにコピーしたいVS2008があります。ファイル(にあります/common/browserhawk/)を「出力ディレクトリにコピー」に設定しました。ただし、フォルダ構造もコピーされます。ファイルは次の場所にコピーされます。/bin/common/browserhawk/ これらのファイルをコピーする方法を教えてください/bin/。正しくコピーするために、これらをWebサイトのルートに保存したくありません。 関連質問:Visual Studioはコンパイル後にプロジェクトに.dllおよび.pdbを追加します

7
NuGetからバージョン管理にパッケージをチェックインしますか?
NuGetの前は、プロジェクトで使用されるすべての外部DLLをチェックインすることが一般的に受け入れられていた「ベストプラクティス」でした。通常、Libsまたは3rdPartyディレクトリにあります。 NuGetを使用する場合、packagesディレクトリをチェックインする必要がありますか、それともMSBuildが必要なパッケージをnugetフィードから自動ダウンロードする方法はありますか?

12
Visual Studio(2008)の大規模ソリューションのベストプラクティス[終了]
現在のところ、この質問は私たちのQ&A形式には適していません。回答は事実、参考資料、または専門知識によって裏付けられることを期待していますが、この質問は、討論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善して再開できると思われる場合は、ヘルプセンターにアクセスしてガイダンスを入手してください。 7年前に閉鎖されました。 約100以上のプロジェクトでソリューションがあり、そのほとんどがC#です。当然、開くことも構築することも時間がかかるので、そのような獣のベストプラクティスを探しています。私が答えを得ることを望んでいる質問の線に沿って、次のとおりです。 プロジェクト間の参照をどのように処理するのが最適ですか 「ローカルコピー」をオンにするかオフにするか。 すべてのプロジェクトを独自のフォルダーにビルドする必要がありますか、それともすべて同じ出力フォルダーにビルドする必要があります(すべて同じアプリケーションの一部です) ソリューションのフォルダは、ものを整理するための良い方法ですか? ソリューションを複数の小さなソリューションに分割することはオプションですが、それは独自のリファクタリングと構築の頭痛の種を伴うので、おそらく別のスレッドのためにそれを保存することができます:-)

14
ファイルまたはアセンブリを読み込めませんでした 'Microsoft.Build.Framework'(VS 2017)
コマンド「update-database」を実行しようとすると、次の例外が発生します。 '-Verbose'フラグを指定して、ターゲットデータベースに適用されているSQLステートメントを表示します。System.IO.FileNotFoundException:ファイルまたはアセンブリ 'Microsoft.Build.Framework、Version = 15.1.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。ファイル名: 'Microsoft.Build.Framework、Version = 15.1.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a' WRN:アセンブリバインディングログがオフになっています。アセンブリバインド失敗ログを有効にするには、レジストリ値[HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)を1に設定します。注:アセンブリバインド失敗ログに関連するパフォーマンスの低下があります。この機能をオフにするには、レジストリ値[HKLM \ Software \ Microsoft \ Fusion!EnableLog]を削除します。 ファイルまたはアセンブリ 'Microsoft.Build.Framework、Version = 15.1.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a'またはその依存関係の1つを読み込めませんでした。指定されたファイルが見つかりません。`

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.