2012-02-10 11 views
5

私は適切に動作するためにmachine.configファイルを編集する必要のあるasp.netアプリケーションを持っています。私の開発マシン(Windows XPを実行中)で、machine.configファイルを "C:¥WINDOWS¥Microsoft.NET¥Framework¥v2.0.50727"に編集しました私の解決策はサーバー上でどのmachine.configファイルを使用していますか?

これは私が修正したコード行です。

<processModel autoConfig="true" userName="SYSTEM" password="AutoGenerate"> 

サーバ(Windows Server 2003を実行中)で、同じ場所で同じファイルを変更しました。しかし、私がソリューションをデバッグすると、正しく動作しません(何も起こりません。タイムアウトします。これは、設定ファイルを変更する前に開発マシンで行ったのと同じ問題です)。

私のアプリケーションは、マシンとサーバーの両方の同じ場所にあるmachine.configファイルを使用していないという事実になっています。これを確認するために、両方の設定ファイルのuserNameとpasswordの最後に乱数を追加しました。私のマシンでは、この後もアプリケーションが実行されません。サーバー上では、乱数が追加される前に実行され、同じ方法でエラーが発生します。

私の質問は、要するに、私は、サーバーが実際に使用して、および/またはどのように私が言及した場所で1を使用するように設定することができているファイルのmachine.configかを把握行う方法ですか?

答えて

12

それはあなたのサーバーは、それがになることを意味し、64ビットサーバーであることが可能です:

C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v2.0.50727の

ザ・64ビットランタイムは、異なるmachine.configを使用します。

  1. ASP.NET 1.xのが%WINDIR%\Microsoft.NET\Framework\v1.1.4322
  2. ASP.NET 2.0/3.5を使用したx86は%WINDIR%\Microsoft.NET\Framework\v2.0.50727
  3. ASP.NET 2.0/3.5のx64は%WINDIR%\Microsoft.NET\Framework64\v2.0.50727
  4. ASP.NETを使用して使用:基本的なルールは、このされています4.0/4.5.xのx86のは、ASP.NET 4.0/4.5.xのx64のフルCLRを使用して、ASP.NET 5.0について%WINDIR%\Microsoft.NET\Framework64\v4.0.30319
  5. を使用%WINDIR%\Microsoft.NET\Framework\v4.0.30319
  6. 、これはT以来、ASP.NET 4.0の位置と同じになります使用します彼は.NET Framework 4.6を4.5の代わりに使用しています。 CoreCLRでASP.NET 5.0を実行している場合、machine.configファイルの概念はありません。あなたはASP.NET]タブに依存使用ASP.NETのバージョン

(IIS 6)またはアプリケーションプール(IIS 7+)のx86対

x64のは、IIS 6のためW3SVC/AppPools/Enable32BitAppOnWin64を設定するメタデータに依存し、またはIIS 7のAppPool。

+0

どちらのマシンも32ビットですが、私はこれを確認しました。 – turbo

+6

@turboは、私はあなたがコード 'ConfigurationManager.OpenMachineConfiguration()を使用することができたとしても、私は考えられていなかった。FilePath'それはのmachine.config探している場所を把握するために、何かのために1。 'System.Configuration'アセンブリを参照する必要があります。 – vcsjones

+0

Hm、両方のマシンで同じ場所として表示されます。私の推測は間違っていたと思う。おそらく、私のプロジェクトは何らかの形で更新されたバージョンを参照していない(IIS Admin Serviceを再起動する必要があると私は知っている)。あなたは私の推測が間違っていることを証明しましたが、私の質問に答えました。ご協力いただきありがとうございます。 – turbo

関連する問題