問題タブ [buildmanager]

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.

0 投票する
1 に答える
13093 参照

assemblies - AppDomain.GetAssembliesとBuildManager.GetReferencedAssembliesの違い

完全に信頼できるasp.netmvc2アプリケーションのコンテキストで、2つの間に違いがあるかどうかを知りたいだけです。

0 投票する
4 に答える
2884 参照

asp.net-mvc - ヘルプSystem.Web.Compilation.BuildManagerは、参照されていないアセンブリでタイプを検索します

ASP.NETが認識していないフォルダーにアセンブリをドロップできるプラグインシステムを作成しようとしています。このプラグインシステムは、ASP.NET MVCベースのアセンブリでは正常に機能しますが、旧式のWebFormアセンブリ(派生クラスのファイル)では.aspx、ファイルを動的アセンブリにコンパイルする必要があります。InheritsSystem.Web.UI.PageSystem.Web.Compilation.BuildManager.aspx

私の問題はBuildManager、プラグインフォルダ内のアセンブリについて何も知らないことであり、それを支援するために私ができることはまったくないようです。私が行った場合:

投げます。最初にへの参照を取得してからType試してみる場合:

typeファイルをコンパイルするために必要な特定のものを渡したにもかかわらず、それでもスローされ.aspxます。BuildManagerファイルをコンパイルするために必要なタイプを見つけるために私ができることはあり.aspxますか?

更新:BuildManager.GetType()実際 に何をしているのかを調べることで、さらに一歩進んだ。タイプが定義されているアセンブリ(「PluginAssembly.DefinedType、PluginAssembly」など)を指定し、System.AppDomain.CurrentDomain.AssemblyResolveイベントにフックすることで、プラグインアセンブリを見つけて返すことができるので、BuildManagerはタイプを正常に構築できます。これにより、フライングカラーで次のように機能します。

ただし、これはまだ失敗します。

ファイルのディレクティブ.aspxに同じアセンブリ参照が含まれていますが、次のようになります。Inherits

私が受け取るエラーは次のとおりです。

「コンパイラエラーメッセージ:CS0234:タイプまたは名前空間の名前'DefinedType'は名前空間'PluginAssembly'に存在しません(アセンブリ参照がありませんか?)」と次のソース出力があります。

内部で起こっていることは、私のアセンブリを見つけられないことによってこの例外をスローする責任があるかもしれないBuildManager.CreateInstanceFromVirtualPath()という特定のことを含んでいるようです。System.Web.Util.IWebObjectFactoryこのインターフェースは問題なく実装できますが、それについてわからない場合はどうBuildManagerなりますか?

0 投票する
2 に答える
3222 参照

.net - .netコンソールアプリのライフサイクル-BuildManager.GetReferencedAssembliesからの開始前の初期化エラーを回避します

コンソールアプリで参照されているアセンブリを反復処理しようとしています。他のプロジェクトでBuildManager.GetReferencedAssembliesを使用してこれを行っていますが、コンソールアプリケーションで、InvalidOperationExceptionが発生します。このメソッドは、アプリケーションの開始前の初期化段階では呼び出すことができません。

私の知る限り、コンソールアプリでの実行を遅らせる方法はありません。あなたは静的なvoidMainでそれをします、あるいはあなたはそれを全くしません...誰かがこれを回避する方法について何か提案がありますか?

0 投票する
1 に答える
467 参照

c# - WinDbg - System.Web.Compilation.BuildManager の ResultCache を見る

メモリリークをデバッグしています。再現できませんが、特定の状況でプログラムを実行すると、約 60MB/hr の安定したリークが発生します。数日後、ヒープが ~2GB になったらダンプを取り、WinDbg をアタッチします。

!heapdump –stat
1.2 GB 相当のハッシュテーブルがあることを示します。これはヒープの約 55% です。

!dumpheap -Type System.Collections.Hashtable+KeyCollection
153,080 の Hashtable インスタンスのアドレスを提供します。

これらのインスタンスのいくつかの !gcroot は、それらがすべて Me.Logger によって所有されているスレッドによって所有されていることを示しています。

この出力を解釈する方法がわかりません。System.Web.Compilation.BuildManager には大量のキャッシュがあるようです。

BuildManager、MobileCapabilities、ResolveEventHandler - コードベースではこれを使用していません。

私はWinDbgが初めてです。これをさらにデバッグするにはどうすればよいですか?

Hashtables の内容を確認するにはどうすればよいですか? (SoS v2.0.50727 なので、!DumpCollection はありません)。BuildManager がビルドしたものを確認するにはどうすればよいですか?

0 投票する
3 に答える
7258 参照

java - CoreException を処理する JavaBuilder

私はEclipseで働いています。開発中はすべて順調でしたが、奇妙な問題が2日間あります。複数のパッケージを含むサブプロジェクトがあります。パッケージ間でいくつかのクラスを使用したいのですが、Eclipse はインポートを認識します。ただし、インポートしようとすると、インポートを解決できないことが示されます。ログファイルを見て、次の行を取得しました。

初めて発生します。何が問題ですか?

どうもありがとう!良い1日を!

0 投票する
1 に答える
47 参照

c# - BuildManager.Build が SQL Server データ ツール プロジェクトで First Chance 例外に遭遇する

BuildManager.Buildメソッドを使用して、SQL Server データ ツール/データ層アプリケーション フレームワーク/Visual Studio データベース プロジェクトをビルドしています。同じプロジェクトを、Visual Studio を介して手動で同じ構成でビルドすると、例外なく、比較的短い時間 (約 10 秒) でビルドされます。ただし、BuildManager.Build を介してプログラムでビルドすると、多数の初回例外が発生します。これらはすべて、antlr 名前空間で発生するようです。これにより、ビルド プロセスが非常に遅くなります。これは、BuildManager.Build を実行しているプログラムがデバッグ モードで実行されているために発生していますか? 最初のチャンスの期待を取り除き、うまくいけばビルドプロセスをスピードアップする方法を知っている人はいますか?

0 投票する
0 に答える
357 参照

build - BuildManager.Build() を使用してコードからソリューションを構築する

ソースコードを取得して実行可能ファイルとDLLにビルドするビルドサーバーアプリを作成しようとしました。私のソリューションは、同じソリューションの他のプロジェクトに依存する複数のプロジェクトを含む非常に大きなものです。VS のビルドは、リリース構成で約 1 秒かかります。10分 したがって、おそらくそれを構築する唯一の方法は、それらを 1 つのソリューションとして構築することです。これが私が実行しているコードです(できるだけ正確に、私はそれを回復しようとしています):

問題は最後の行にあります。この通話は終了しません (1 時間待ちました)。

私は別のアプローチも試しました.1つのプロジェクトを構築しようとしています:

結果は同じでしたが。プロセスが実行され、ますます多くの RAM が使用されています (使用量の増加は 1MB / 5 ~ 10 秒と非常にゆっくりです)。1時間後、それは約でした。メモリ内のサイズは 0.5GB。Build() メソッドの前に停止して実行すると、タスク マネージャーで新しいプロセスが作成されないため、msbuild.exe を呼び出していない可能性があります。ログ ファイルが作成されますが、1 行もありません。正確に 0 バイトです。bin または obj ディレクトリは作成されず、Build() メソッドによる変更はないように見えます。

私は行き止まりに達しました。何をチェックすればよいかわかりません。何をすべきかわかりません。

この問題に対するアドバイス/解決策はありますか? 問題の解決につながるアドバイスをいただければ幸いです。

0 投票する
1 に答える
697 参照

.net - 最新の microsoft.build.dll,v12.0.0.0 で buildManager を使用しているときにビルドが失敗する

ビルド ツールのアセンブリ リファレンスを更新して、最新バージョン (v12) の microsoft.build、microsoft.build.engine および microsoft.build.framework を使用しました。しかし、BuildManager を使用してプロジェクトをコンパイルしている間 (私はコンパイルに Rebuild オプションを使用します)、Target で失敗します: CleanWebsitesPackageCore エラーで MSB4127: " The "CheckPathAttributes" task could not be instantiated from the assembly "C:\Program Files (x86 )\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.Tasks.dll". にインストールされている Microsoft.Build.Framework アセンブリと同じバージョンの Microsoft.Build.Framework アセンブリを使用して、タスク アセンブリがビルドされていることを確認してください。ホスト アプリケーションに Microsoft.Build.Framework.Unable to cast object of type 'Microsoft.Web.Publishing.Tasks.

注意すべき点は、コマンド プロンプトから MSBuild.exe を呼び出してプロジェクトを直接コンパイルしようとすると、正常にコンパイルされることです。ログを見ると、「クリーン」部分でターゲットの「CleanWebsitesPackageCore」が呼び出されていないことがわかりました。コマンド プロンプトで直接 msbuild.exe を呼び出しているときではなく、buildmanager を使用しているときにターゲットが呼び出されるのはなぜでしょうか。

なぜこれがこのように起こっているのか、誰にでもわかります。前もって感謝します。