問題タブ [aspnet-compiler]
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.
c# - ASP.Net でのプリコンパイル時間と起動時間
ASP.Net 2.0 で (比較的小さな) Web サイトを開発しています。また、nAnt を使用して、実行可能ファイルを配布する前にプロジェクトを簡単に微調整しています。現在の状態では、Web サイトは以下を使用して「プリコンパイル」されています。
aspnet_compiler.exe -nologo -v ${Appname} -u ${target}
IIS プールが再起動された後 (アイドル シャットダウンまたはリサイクルの後)、アプリケーションがオンラインに戻る (そして Application_start に到達する) までに最大 20 秒かかることに気付きました。
Visual Studio 内で直接デバッグしている場合 (開始に 2 秒かかります) は同じ問題を抱えていないので、aspnet_compiler が本当に良いアイデアであるかどうか疑問に思っています。
MSDN ではあまり見つかりませんでした。本番用に Web サイトをどのようにコンパイルしますか?
asp.net - aspnet_compiler.exe が非常に遅いのはなぜですか (さらに速くすることはできますか)?
ビルド プロセス中にaspnet_compiler.exe
、Web サイトに対して実行して、ASP.NET/MVC のすべての遅延バインディングが実際にビルドされることを確認します (ASP.NET については何も知りませんが、実行時にエラーが見つからないようにするためにこれが必要であると確信しています)。
私たちのサイトはサイズがかなり大きく、数百のページ/ビュー/コントロールなどがあります。ただし、所要時間は 10 ~ 15 分の範囲で長すぎるようです (参考までに、これは約 40 プロジェクトのソリューション全体をコンパイルするのにかかる時間よりも長く、2 つの Web サイト プロジェクトのみをプリコンパイルしています)。
4GB RAM と WD Velociraptor 10,000rpm ハードディスクを搭載した最新のクアッド コア Intel チップで実行しているため、ハードウェアが問題であるとは思えません。奇妙な点の 1 つは、EXE が CPU をあまり使用していないよう (1 ~ 5%) であり、I/O も大量に使用していないように見えることです。
それで...これは既知の問題ですか?なぜそんなに遅いのですか?そして、それをスピードアップする方法はありますか?
注:人々が回答したいくつかのことを明確にするために、私は Visual Studio 内でのコードのコンパイルについて話しているのではありません。既に Web アプリケーション プロジェクトを使用しており、それらのコンパイルの速度は問題ではありません。問題は、これらのプロジェクトが開発ビルド スクリプトの一部として既にコンパイルされた後のサイトの事前コンパイルです(詳細については、この MSDN ページを参照してください)。ファイルをターゲットディレクトリにコピーするのではなく、インプレースで事前コンパイルを実行しています。
aspnet-compiler - aspnet_compiler ASPParse が型を読み込めませんでした
ビルド環境で Web アプリケーション (Web サイトではない) をビルドできません。ビルド環境で DMAKE を使用します (残念ながら、これは交渉不可能であるため、MSBUILD の使用は許可されていません)。
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -d -nologo -p サイト -f -fixednames -errorstack -v / デバッグ
次のエラーが表示されます
エラー ASPPARSE: タイプ 'XYAdmin.Site.Global を読み込めませんでした
IDEからコンパイルすると成功します。その後、aspnet_compilier でコンパイルすると、成功します。したがって、コンパイルしようとしているターゲット dll が、コンパイルしている Web アプリケーションのビンにある場合にのみ、aspnet_compiler でコンパイルが成功します。
残念ながら、MSBUILD を使用したソリューションについて話している投稿に出くわしますが、残念ながら試してみることはできません。
どんな助けでもいただければ幸いです
asp.net-mvc - コマンド ラインから ASP.NET MVC プロジェクトを発行するにはどうすればよいですか?
SVN リポジトリの変更を監視する既存の Web サイトを持っています。チェックインがあると、aspnet_compiler を使用して新しい Web サイトが構築され、運用サイトにあるものの差分が運用に sftp されます。ウェブサーバー。継続的インテグレーション プロセス全体は、cruisecontrol.net を使用して構築されています。
ASP.NET MVC を使用するようにサイト全体をリファクタリングしました。現在、ビルド プロセスに統合しようとしています。これが変更されたようで、MVC 以前のサイトで使用していたのと同じ動作が得られません。残念ながら、まだ誰もこれを行っていないように見えるため、あまり進歩していません。誰かがこのようなものを何らかの形で機能させたことがありますか?
「通常のプロジェクト」のように「devenv」を使用してコマンドラインを自動化しても機能しません。/Build コマンド ライン スイッチがありますが、その場でビルドするだけです。このコマンド ラインは、UI に組み込まれている「発行」メカニズムを公開しません。プロジェクト ディレクトリには {Project Name}.Publish.xml ファイルもあり、公開する必要があるもののマニフェストのようです。それを自動化する方法はありません。
コマンドラインからVS 2008 MVCプロジェクトのビルドメニューの下にある「パブリッシュ{プロジェクト名}」をエミュレートしようとしています。
visual-studio-2008 - 循環ファイル参照は許可されていません
VS2008 でソリューションを構築する際に問題が発生しています。通常、環境では問題なくコンパイルされます。場合によっては、次のエラーで失敗します。
私は再構築し、それは正常に動作します。
ただし、現在、CruiseControl.NET システムをセットアップしている最中で、ビルドを CC に統合する前に、チェックアウトしたコードを MSBuild でテストしています。これで、MSBuild を実行するたびに次のようになります。
問題は、この参照がどこにあるのかわからないことです。
ソリューション全体で参照を検索しましたが、ページまたはそのコードビハインド、または文字列内以外の場所にページ自体 (CMSManagedTargetPage) への参照を見つけることができません。
C:\dev2008\xxx\IWW.xxx.ASPNET\AspxHttpHandler.cs(82): inputFile = context.Server.MapPath("~/secure/CMSManagedTargetPage.aspx"); C:\dev2008\xxx\IWW.xxx.ASPNET\AspxHttpHandler.cs(83): virtualPath = "~/secure/CMSManagedTargetPage.aspx";
私のアセンブリ参照も問題ありません(私の知る限り)。私の Web アプリケーションは依存関係の「最上位」にあり、それを参照するものは何もないため、障害のあるページが循環参照を引き起こすことはありません。もちろん、ページ自体が同じアセンブリ/Web サイト内の UserControl などを参照している可能性がありますが、前述のように、CMSManagedTargetPage を検索しても結果が得られなかったため、これは発生していません。
web.config でバッチ属性を変更しても、MSBuild には影響しませんでした。
VSで「時々」失敗し、MSBuildで常に失敗するのは非常に奇妙です。微妙なところがありませんか?
publishing - aspnet コンパイラを使用してサーバーに公開する方法
現在、バッチファイルを使用してusinf aspnetコンパイラを公開しようとしています
start /b C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe -p "C:\cc\titr\code\" TargetPath="C:\cc\titr\code\deploy\" Force ="true" デバッグ="true"
エラー 1010 ファイル パスが無効です。私が間違っているところを考えてください。パスが正しいので
msbuild - cc.net を使用して msbuild または aspnet_compiler を使用して発行できない
cc.net で多くのソリューションを含むプロジェクトの公開を自動化しようとしています。私は msbuild を使用しており、これは aspnetcompiler xml ファイルを呼び出します。問題は、ディレクトリに多くのソリューションが含まれていることです。aspnetcompiler を実行すると、次のエラーが表示されます。
errorASPCONFIG: allowDefinition='MachineToApplication' として登録されたセクションをアプリケーション レベルを超えて使用するとエラーになります。このエラーは、IIS で仮想ディレクトリがアプリケーションとして構成されていないことが原因である可能性があります
多くのフォーラムで提供されているすべての可能な解決策を試しました。しかし、20 個のプロジェクトから特定のプロジェクトを実行するように aspnet_compiler に明示的に指示する方法がわかりません。
これは私の AspNetCompilerConfiguration.xml ファイルです
ここで、C:\cc\test\code\Com.Project1.sln を実行します。しかし、aspnetコンパイラに伝える方法がわかりません。これを行う方法を考えてから、これを公開してください。
msbuild - パブリッシュ中にタイプエラーを読み込めませんでした
aspnet_compiler を使用して公開しようとした後に次のエラーが発生する
それらを解決する方法
c# - コマンドラインでaspnet_compilerを使用してコンパイラの警告を抑制します
コマンドラインでaspnet_compiler.exe警告を使用するときに、特定のコンパイラ警告を抑制するスイッチはありますか?
エラーを無視するのではなく、自分で修正しようとしました。エラーは、決して使用されないことによって定義されたイベント用です。イベントをコメントアウトしただけですが、これが他の問題を引き起こしました!それらが使用されているかのようですが、コンパイラはそれを認識しません(これはありそうもないようです)。
コマンドラインからコンパイラを呼び出しています。VisualWebDeveloperExpressを使用しています。これには、フルバージョンのVisualStudioにある[プロジェクトのプロパティのビルド]ダイアログに詳細なビルドオプションがありません。
asp.net - ASP.NET コントロールのイベント ハンドラー プロパティの属性にプレフィックス (Load イベント ハンドラーの OnLoad) があるのはなぜですか?
これは、ASP.NET フレームワークをよりよく理解するためのものです。宣言的な方法 (Web フォーム マークアップ) でコントロールを使用する場合、次の属性を使用してメソッド名でイベント ハンドラーを割り当てますOn
。
しかし、System.Web.UI.WebControls.Button クラスを見るとClick
、デリゲートが割り当てられているという名前の EventHandler プロパティがあります。
では、これはどのように実装されていますか?それはパーサーが従う単なる規則ですか?
奇妙な質問だとは思いますが、答えは私の好奇心を満足させるだけです。