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

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

8
コンテンツファイルをasp.netプロジェクトファイルに自動的に含める方法はありますか?
ASP.NETプロジェクトに多くのコンテンツファイル(主に画像とjs)を頻繁に追加しています。VS公開システムを使用していますが、公開時に、プロジェクトに含めるまで新しいファイルは公開されません。指定したディレクトリにあるすべてのファイルを自動的に含めたいのですが。どのディレクトリをcsprojファイルまたは他の場所に自動含めるかを指定する方法はありますか?

7
プロジェクトコーンの外側にある.csprojにコンテンツファイルを含める
「C:\ Projects \ MyProject \」にあるMyProject.csprojというC#プロジェクトがあります。このプロジェクトの出力ディレクトリにコピーしたいファイルもあります。ただし、ファイルは「C:\ MyContentFiles \」の場所にあります。つまり、プロジェクトコーン内にはありません。このディレクトリにはサブディレクトリもあります。ディレクトリの内容は管理されていません。したがって、その下にあるものをすべて含める必要があります。 それらを「コンテンツ」としてプロジェクトに含めると、コピーされますが、ディレクトリ構造が失われます。私はこのようなことをしました:- <Content Include="..\..\MyContentFiles\**"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> これらのファイル/ディレクトリを、ディレクトリ構造を保持したままプロジェクトの出力ディレクトリに再帰的にコピーするにはどうすればよいですか?
86 msbuild  csproj 

5
VS2017 Solution Explorer for .NET Core(非ASP.NET Core)プロジェクトでファイルをネストできますか?
「古い学校」のMSBuildプロジェクトでは、たとえばVS2017のWindowsフォームでまだ使用されているように、ファイルは次の方法で「ネスト」できます。 DependentUponに、ファイルはcsprojファイルのアイテムをます。 これを使用して、NodaTimeでユニットテストをグループ化しました。 <Compile Include="LocalDateTest.PeriodArithmetic.cs"> <DependentUpon>LocalDateTest.cs</DependentUpon> </Compile> これにより、簡単にナビゲートできるテストが実現しました。 project.json.NET Coreに移行したときにこの機能が「失われた」ことを知っていましたが、MSBuildに変換したときにこの機能が戻ることを望んでいました。ただし、.NET Core SDK(ルート要素<Project Sdk="Microsoft.NET.Sdk">)に基づくMSBuildプロジェクトItemGroupは、「古い学校」プロジェクトと同じ要素を使用して手動で追加された場合でも、Visual Studio2017では同じ扱いを受けないようです。 ASP.NET Coreプロジェクトは、縮小されたCSSとJavascriptの自動ネストを受け取りますが、それを.NET CoreライブラリプロジェクトのC#に適用する方法は明確ではありません。

8
MS-Build2017「Microsoft.WebApplication.targets」がありません
ビルドサーバー(jenkins)をVisual Studio2015から2017にアップグレードしようとしています。MS-Buildを介してビルドしています。この説明に従ってMS-Buldツールをダウンロードしてインストールしました回答で。プロジェクトをコンパイルすると、Microsoft.WebApplication.targets見つからなかったエラーが発生します。 詳細なエラー: error MSB4226: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets" MS-Buildディレクトリで検索を実行しました。 PS C:\Program Files (x86)\MSBuild> dir -Recurse -Filter "Microsoft.WebApplication.targets" Directory: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 11.01.2012 00:23 19654 Microsoft.WebApplication.targets Directory: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\WebApplications Mode LastWriteTime Length Name ---- ------------- ------ …

5
ビルド後のイベントはPowerShellを実行します
PowerShellスクリプトを実行するビルド後のイベントを使用して.NETプロジェクトをセットアップすることは可能ですか?このスクリプトを使用していくつかのファイルを生成しています。 また、デバッグビルドかリリースビルドかをスクリプトに渡すことはできますか。この例は素晴らしいでしょう。
85 c#  .net  powershell  msbuild 

4
msbuildでexecタスクの出力を取得する方法
私は次のようにexecタスクによって単純な出力を取得しようとしていますmsbuild: <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Target Name="Test"> <Exec Command="echo test output"> <Output TaskParameter="Outputs" ItemName="Test1" /> </Exec> <Exec Command="echo test output"> <Output TaskParameter="Outputs" PropertyName="Test2" /> </Exec> <Message Text="----------------------------------------"/> <Message Text="@(Test1)"/> <Message Text="----------------------------------------"/> <Message Text="$(Test2)"/> <Message Text="----------------------------------------"/> </Target> </Project> しかし、次の出力を取得します。 echo test output test output echo test output test output ---------------------------------------- ---------------------------------------- ---------------------------------------- スクリプトで出力を取得するにはどうすればよいですか?

12
「C:\ Microsoft.Cpp.Default.props」が見つかりませんでした
2013年にVisualStudioで作成されたプロジェクトがあります。 プロジェクトファイルには、次のプロパティがあります。 ToolsVersion = "12.0"、PlatformToolset = v120。 Visual Studio2013とMicrosoftBuild Tools2015をインストールしています。このプロジェクトは、MSBuild12.0を使用して正常にビルドされます。MSBuild 14.0でビルドしようとすると、エラーが発生します MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. 私が理解しているように、問題は変数VCTargetsPathが評価されないことです。ビルドの前に変数VCTargetsPathを指定すると(値はC:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V120)、問題は解決します。 ただし、パスが異なる場合、このアプローチはあまり便利ではありません。どういうわけか、より最適な方法で問題を解決することは可能ですか? レジストリキーとその値: HKLM\Software\WOW6432Node\Microsoft\MSBuild\ToolsVersions\12.0\VCTargetsPath $([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\V120\'))

5
リリースモードビルドでXMLドキュメントファイルのコピーを防ぐ方法は?
いくつかのサードパーティコンポーネントを参照するVisualStudio2010プロジェクトがあります。それらのアセンブリには、私たち(そして私たちだけ)の開発者に役立つXMLドキュメントファイルが付属しています。また、プロジェクトがビルドされるたびに(デバッグモードまたはリリースモードのいずれかで)、これらのXMLファイルがビルドディレクトリにコピーされます。 Visual Studio内またはMSBuildを介して、ビルドディレクトリへのこれらのXMLファイルのコピーを無効にする設定またはスイッチが見つからないようです。ビルド後のスクリプトはオプションかもしれませんが、臭いです。何か案は?ありがとうございました。

5
MSBuild.exeを使用して、コマンド行でASP.NET MVC4プロジェクトを「公開」する
MSBuild.exeMVC 4プロジェクトを取得して、指定されたディレクトリに公開するだけのコマンドに対して実行するコマンドを探しています。 例えば、 MSBuild <solution>/<project>.csproj -publish -output=c:/folder これは明らかに間違った構文です。質問を単純化しようとしています。 この質問はビルドXMLについて話しますが、私はそれほど詳細に何もしようとはしていません。 単にデプロイしようとしています。 その質問のさらに下で、誰かが「MSDeploy」について話します。私はそれを調べることができますが、それが唯一の選択肢ですか?サーバーにWebデプロイをインストールする機能がありません。その場合、私が本当にする必要があるのは、「公開」して、公開されたプロジェクトのコンテンツをサーバー/ファイルシステム上の特定のディレクトリに送信することだけです。 誰かが私が使用できるワンライナーを持っていますか? MSDeployを使用する必要がありますか? MSDeployでは、サーバーにWeb展開をインストールする必要がありますか? サーバーでWeb展開をセットアップするには、いくつかのポート、アクセス許可をセットアップし、いくつかのIISアドオンをインストールする必要はありませんか? 簡単なことを実行したいだけです。

6
ビルドサーバーでVisualStudioを使用せずにASP.NET4.5をビルドする
ビルドサーバーをセットアップしてからしばらく経ちましたので、何かを忘れたか、.NET 4.5が前回これを行ったバージョンと異なる可能性がありますが、ここに問題があります。 ソース管理リポジトリを監視するようにビルドサーバーをセットアップしようとしています。何かが変更されたときはいつでも、サーバーに変更をプルしてプロジェクトをビルドしてもらいたいです。エラーがない場合は、ビルドサーバーで実行されているWebサイトにサイトを展開します。 以前、これを行ったとき、.NETのみをインストールすればこれを実行できると思っていましたが、このプロジェクトをビルドしようとすると、「C:\ Program Files \ MSBuild \ Microsoft \ VisualStudio \ v11」というエラーが表示されます。 .0 \ WebApplications \ Microsoft.WebApplication.targets "がありません。行ってみると、見つからないことがわかります。実際、Visual Studio11のターゲットファイルはありません。 よく考えて頭を悩ませた後、外に出て「Windows 8 / .NET 4.5 SDK」を入手し、.NET 4.5 SDKが必要なターゲットファイルをインストールする可能性があると考えましたが、間違ってインストールしない限りインストールされませんでした。 。 したがって、プロジェクトをビルドするには、ビルドサーバーに何を配置する必要がありますか。Visual Studio2012全体をインストールする必要はありません。

2
TeamCityは、MSBuildステップで「/ property:」の代わりに「BuildParameters」を使用するように指示しています。どういう意味ですか?
CIビルドを実行するためのTeamCityサーバーのセットアップがあります。私はC#ソリューションを構築してテストし、いくつかのカスタムMSBuildタスクを実行しています。これらのタスクの1つは、ビルド出力に警告を出力することです... MSBuildコマンドラインパラメーターには、「/ property:」または「/ p:」パラメーターが含まれています。代わりにビルドパラメータを使用してください。 これが何を意味するのか、それを削除する方法がわかりません。それはうまくグーグルしません(タイプミスの有無にかかわらず)。コマンドライン(を使用/verbosity:diagnostic)からタスクを実行しましたが、表示されないので、TeamCityメッセージだと思います。 MSBuildタスクは <Target Name="InstallDb"> <MakeDir Directories="$(DbPath)" /> <Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseDrop.sql" /> <Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseCreate.sql -v DbPath="$(DbPath)"" /> <Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseProgrammability.sql" /> </Target> そして、関連するTeamCityのステップ情報は MSBuildバージョン:4.0 MSBuildツールバージョン:4.0 実行プラットフォーム:x64 ターゲット:InstallDb コマンドラインパラメーター:/ property:DbPath =%env.DB_PATH%
80 msbuild  teamcity 

2
.Net Frameworkバージョン(4.6.2から4.7.2)を更新した後、GetPathsOfAllDirectoriesAbove()を評価できない
私が取り組んでいるプロジェクトが.NET Framework 4.6.2から4.7.2にアップグレードされました。ビルド時に、自分のコードではないファイルで、次のエラーが発生します。 プロジェクトプロパティのビルドタブにも同じエラーが表示されます。 私は途方に暮れています-エラーを検索したところ、空になりました。誰かがこれに遭遇したり解決したことはありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.