問題タブ [msbuild-task]
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-2008 - AssemblyInfo タスクでビルド バージョンを設定しようとするとエラーが発生する
AssemblyInfo Task 参照を C# プロジェクト ファイル (VS2008 .NET 3.5) に追加しましたが、ビルドすると次のエラーが発生します。
「AssemblyInfo」タスクが予期せず失敗しました。System.ArgumentException: version パラメーター名: 指定された文字列は、Microsoft.Build.BuildEngine の Microsoft.Build.Extras.AssemblyInfo.Execute() の Microsoft.Build.Extras.Version.ParseVersion(String version) で有効なバージョン番号ではありません。 TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy、ItemBucket バケット、TaskExecutionMode howToExecuteTask、ITask タスク、Boolean& taskResult)
私の assemblyinfo ファイルには、次の 2 つの属性があります。
msbuild - GenerateBootstrapper が有効な setup.exe の作成に失敗する
説明できない奇妙な動作が見られます。
私は wix を使用して msi を生成し、msbuild GenerateBootstrapper タスクを使用して前提条件を処理しています。すべてが正しくビルドされているように見えます。つまり、エラーや警告はありませんが、生成された setup.exe は実行されません。空白のエラー ダイアログが表示され、イベント ログにもほぼ同じ情報が表示されます。
キッカーは、コマンド ラインにドロップしてプロジェクトで msbuild を手動で実行し、ブートストラップ ターゲットを指定すると、正しい動作する setup.exe が生成されることです。
このウィックスの記事をベースとして使用して開始しました。また、StackOverflow に関するいくつかの質問を使用して、修正を試みました。
誰かが以前にこの動作を見たことがありますか?
GenerateBootstrapper タスクを呼び出すプロジェクト ファイルの一部を次に示します。
これは、動作する setup.exe を生成するために使用するコマンドです。
msbuild - MSBuild を使用して、ItemGroup 内のファイルを反復処理して動的文字列を作成する方法は?
複数の /testcontainer: パラメーターを作成して、exec の MsTest というタスクにフィードする必要があります。
私は次のものを持っています:
TestFilesの一致ごとに、次のような文字列を作成したいと思います。
カスタム タスクを作成せずに MSBuild の内部を使用しようとしていますが、これは可能ですか?
ティア
msbuild - カスタム タスクのコーディング時に MSBuild のプロパティ リストにアクセスするにはどうすればよいですか?
定義済みのすべてのプロパティ (予約されていないもの) を出力するカスタム タスクを作成する必要があります。したがって、私の C# コードでは、MSBuild エンジンのプロパティ リストにアクセスしたいのですが、その方法がわかりません。助けてください。
silverlight - Microsoft.Silverlight.Build.Tasks.CompileXaml.LoadAssemblies(ITaskItem [] ReferenceAssemblies)でのNullReferenceException
VisualStudio2010をバージョン10.0.30319.1RTMRelに更新し、ビルド中に次の例外が発生し始めました。
System.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。Microsoft.Silverlight.Build.Tasks.CompileXaml.LoadAssemblies(ITaskItem [] ReferenceAssemblies)at Microsoft.Silverlight.Build.Tasks.CompileXaml.get_GetXamlSchemaContext()at Microsoft.Silverlight.Build.Tasks.CompileXaml.GenerateCode(ITaskItem item、Boolean isApplication )Microsoft.Silverlight.Build.Tasks.CompileXaml.Execute()でBohr.Silverlight.BuildTasks.BohrCompileXaml.Execute()で
BohrCompileXaml.Executeのコードは次のとおりです。
そして、タスクの定義:
理由は何ですか?そして、どうすればCompileXamlクラス内で何が起こっているのかをより多くの情報を得ることができますか?
msbuild - MSBuild タスクで MSBuildExtensionsPath をオーバーライドすると不安定になる
これは、MS Connect で既に相互投稿されています。
https://connect.microsoft.com/VisualStudio/feedback/details/560451
msbuild を使用して C# Web アプリケーション プロジェクトを含むソリューションをビルドするときに、プロパティ $(MSBuildExtensionsPath) をオーバーライドしようとしています。これは、Web アプリケーションの csproj ファイルが "$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" というファイルをインポートするためです。このファイルは、Visual Studio によって標準の $(MSBuildExtensionsPath) の場所 (C:\Program Files\MSBuild) にインストールされます。このファイルがマシンにインストールされていることへの依存を排除したいと考えています (ビルド サーバーをできるだけ「クリーン」に保ちたいと考えています)。これを行うには、プロジェクトのソース管理に Microsoft.WebApplication.targets を含め、$(MSBuildExtensionsPath) をオーバーライドして、csproj がこの含まれているバージョンの Microsoft.WebApplication.targets をインポートするようにします。
このスキームは、コマンド ラインからソリューション ファイルをビルドし、コマンド ラインで $(MSBuildExtensionsPath) のカスタム値を /p フラグを介して msbuild に指定すると、正常に機能します。ただし、カスタム msbuild プロジェクト ファイルで MSBuild タスクを使用してソリューションをビルドしようとすると ("Properties" 属性を使用して MSBuildExtensionsPath をオーバーライドします)、Web アプリの csproj ファイルが Microsoft.WebApplication.targets を"標準" Microsoft.WebApplication.targets の場所 (C:\Program Files\MSBuild)。特に、カスタム プロジェクト ファイルで "Exec" タスクを使用して msbuild を実行すると、機能します。さらに注目すべきは、「EXEC」タスクを使用して (またはコマンド ラインから直接) ビルドを実行した後、「MSBuild」タスクを使用してビルドを初めて実行すると、ビルドが機能することです。
誰もこのような行動を見たことがありますか? 私はクレイジーですか?この問題の根本的な原因、考えられる回避策、またはこれが MSBuild の正当なバグであるかどうかを知っている人はいますか?
再現する手順:
1) MSVS 2008 (Fake.sln) で新しい空のソリューションを作成します。
2) 新しい C# Web アプリケーションをソリューション (WebApplication1.csproj) に追加します。
3) MSVS を閉じる
4) "C:\Program Files\MSBuild\" の内容を、ソリューションを含むディレクトリ内の "MSBuildExtensions" というディレクトリにコピーします。
5) WebApplication1.csproj がその場所から Microsoft.WebApplication.targets をインポートできないように、ディレクトリの名前を "C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\WebApplications" に変更します。
6) ソリューションと同じディレクトリに "TestBuild.proj" という名前のカスタム MSBuild プロジェクト ファイルを作成します。次の内容が含まれている必要があります。
7) MSVS コマンド プロンプトから「msbuild TestBuild.proj」を実行します (注: ビルドは 1 回目は成功する場合がありますが、複数回実行すると失敗します)。
visual-studio-2010 - VS2010 Web配置ビルドテンプレートでMSBuildタスクを実行するにはどうすればよいですか?
最近、VS2008-> VS2010からアップグレードしました(したがって、Web展開プロジェクトから適切な展開プロジェクトにアップグレードしました)。
明らかに、VS2010 Webデプロイメントの新機能は、ビルドプロセステンプレートとしてのワークフローの導入です。
以前は、WDPでMSBuildタスクを使用してYahoo YUI Javascript / CSS圧縮モジュールを実行し、javascriptファイルとcssファイルを縮小/圧縮していました。
Visual Studio 2010でこのタスクを実行できた人はいますか?
Justin Etheridgeによって作成された新しい「SquishIt」コンプレッサーを見たことがありますが、オンザフライで「スクイーズ」するため(たとえば、Application_Start-Global.ascx)、理想的ではありません。つまり、圧縮されていないすべてのファイルを押しつぶす前のWebサーバー。
ワークフローデザイナでは、「MSBuild」と呼ばれるツールボックスアイテムが表示されますが、それを使用して目的を達成する方法がわかりません。
高くて広い検索をしていると、誰もその方法を知らないようです。
編集
ほぼ2週間後、まだ解決策/回答はありません。確かに誰かがこの問題に遭遇しましたか?今のところ、ビルド後のVSコマンドプロンプトを介してMSBuildタスクを手動で実行しています。
編集
まだ何もない!!
visual-studio-2010 - MSBuild 2010 - Web アプリを特定の場所 (ナント) に公開する方法は?
MSBuild 2010 で Web アプリを特定の場所に公開しようとしています。展開パッケージを特定のパスに発行するように取得できますが、展開パッケージは変更される独自のパスを追加します。
例:公開するように指示するとC:\dev\build\Output\Debug
、実際のWebファイルは最終的にパスC:\dev\build\Output\Debug\Archive\Content\C_C\code\app\Source\ControllersViews\obj\Debug\Package\PackageTmp
のC_C
一部が変更されます(パスのこの部分をどのように選択するかはわかりません)。
つまり、発行場所からコピーをスクリプト化することはできません。
現在、この nant/msbuild コマンドを使用しています。
Web ファイルを特定の場所に直接送信する方法についてのアイデアはありますか?
msbuild - MSBuild 変数の出力に関する問題
変数を 1 つのターゲットから、それを開始した親ターゲットに出力しようとしています。例えば、
ターゲット 1 はファイル 2 のタスクを呼び出すだけで、その中に設定された変数を使用できるはずです。しかし、私はそれを機能させることができないようです (おそらく構文が間違っていますか?)。ターゲット 1 は次のようになります。
ターゲット 2 は、テキスト ファイルの値を読み取り、それをプロパティに設定し、変数 'OutputVar' を一致するように設定する場所です。これは、親に返されることになっています。
私は MSBuild タスクにまったく慣れていないので、明らかなことかもしれません。私がやりたいのは、1 つのタスクで変数を設定し、それを呼び出した親タスクで使用できるようにすることだけです。
msbuild - MSBuildビルドシーケンス
MSからのこの記事を見て、SolutionToBuildセクションについて質問があります。
ビルドの順序は上記の順序で決まるとのことです。したがって、たとえば、MySolutionは落書きの前に構築されます。
ただし、落書きがMySolutionに依存している場合、これは安全ですか?たとえば、MySolutionは、scribbleによって使用される1つ以上のdllを出力します。MySolutionと落書きが同時に変更された場合、ビルドはMySolutionが完全にコンパイルされるのを待ってから、次のプロジェクトに移動しますか?