問題タブ [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.
assemblies - AppDomain.GetAssembliesとBuildManager.GetReferencedAssembliesの違い
完全に信頼できるasp.netmvc2アプリケーションのコンテキストで、2つの間に違いがあるかどうかを知りたいだけです。
asp.net-mvc - ヘルプSystem.Web.Compilation.BuildManagerは、参照されていないアセンブリでタイプを検索します
ASP.NETが認識していないフォルダーにアセンブリをドロップできるプラグインシステムを作成しようとしています。このプラグインシステムは、ASP.NET MVCベースのアセンブリでは正常に機能しますが、旧式のWebFormアセンブリ(派生クラスのファイル)では.aspx
、ファイルを動的アセンブリにコンパイルする必要があります。Inherits
System.Web.UI.Page
System.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
なりますか?
.net - .netコンソールアプリのライフサイクル-BuildManager.GetReferencedAssembliesからの開始前の初期化エラーを回避します
コンソールアプリで参照されているアセンブリを反復処理しようとしています。他のプロジェクトでBuildManager.GetReferencedAssembliesを使用してこれを行っていますが、コンソールアプリケーションで、InvalidOperationExceptionが発生します。このメソッドは、アプリケーションの開始前の初期化段階では呼び出すことができません。
私の知る限り、コンソールアプリでの実行を遅らせる方法はありません。あなたは静的なvoidMainでそれをします、あるいはあなたはそれを全くしません...誰かがこれを回避する方法について何か提案がありますか?
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 がビルドしたものを確認するにはどうすればよいですか?
java - CoreException を処理する JavaBuilder
私はEclipseで働いています。開発中はすべて順調でしたが、奇妙な問題が2日間あります。複数のパッケージを含むサブプロジェクトがあります。パッケージ間でいくつかのクラスを使用したいのですが、Eclipse はインポートを認識します。ただし、インポートしようとすると、インポートを解決できないことが示されます。ログファイルを見て、次の行を取得しました。
初めて発生します。何が問題ですか?
どうもありがとう!良い1日を!
c# - BuildManager.Build が SQL Server データ ツール プロジェクトで First Chance 例外に遭遇する
BuildManager.Buildメソッドを使用して、SQL Server データ ツール/データ層アプリケーション フレームワーク/Visual Studio データベース プロジェクトをビルドしています。同じプロジェクトを、Visual Studio を介して手動で同じ構成でビルドすると、例外なく、比較的短い時間 (約 10 秒) でビルドされます。ただし、BuildManager.Build を介してプログラムでビルドすると、多数の初回例外が発生します。これらはすべて、antlr 名前空間で発生するようです。これにより、ビルド プロセスが非常に遅くなります。これは、BuildManager.Build を実行しているプログラムがデバッグ モードで実行されているために発生していますか? 最初のチャンスの期待を取り除き、うまくいけばビルドプロセスをスピードアップする方法を知っている人はいますか?
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() メソッドによる変更はないように見えます。
私は行き止まりに達しました。何をチェックすればよいかわかりません。何をすべきかわかりません。
この問題に対するアドバイス/解決策はありますか? 問題の解決につながるアドバイスをいただければ幸いです。
.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 を使用しているときにターゲットが呼び出されるのはなぜでしょうか。
なぜこれがこのように起こっているのか、誰にでもわかります。前もって感謝します。