【问题标题】:Which machine.config file is my solution using on the server?我在服务器上使用的解决方案是哪个 machine.config 文件?
【发布时间】:2012-03-03 06:55:31
【问题描述】:

我有一个 asp.net 应用程序,需要对 machine.config 文件进行一些编辑才能正常工作。在我的开发机器(运行 windows xp)上,我在以下位置编辑了 machine.config 文件:“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727”

这是我修改的代码行,有修改(添加用户/密码):

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

在服务器(运行 windows server 2003)上,我对同一位置的同一文件进行了相同的更改。但是,当我调试解决方案时,它无法正常工作(没有任何反应并且超时,在对配置文件进行这些更改之前,我在开发机器上遇到了同样的问题)。

我发现我的应用程序没有在我的机器和服务器上的同一位置使用 machine.config 文件。为了确认这一点,我在两个配置文件的用户名和密码末尾添加了随机数。在我的机器上,执行此操作后应用程序甚至无法运行。在服务器上,它在添加随机数之前以相同的方式运行和出错。

简而言之,我的问题是如何确定服务器实际使用的 machine.config 文件和/或如何将其设置为使用上述位置的文件?

【问题讨论】:

    标签: asp.net visual-studio-2010 .net-3.5


    【解决方案1】:

    您的服务器可能是 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 使用%WINDIR%\Microsoft.NET\Framework\v4.0.30319
    5. ASP.NET 4.0 / 4.5.x x64 使用%WINDIR%\Microsoft.NET\Framework64\v4.0.30319
    6. 对于使用完整 CLR 的 ASP.NET 5.0,这将与 ASP.NET 4.0 位置相同,因为 .NET Framework 4.6 是 4.5 的替代品。如果 ASP.NET 5.0 在 CoreCLR 上运行,则没有 machine.config 文件的概念。

    您使用的 ASP.NET 版本取决于您的 ASP.NET Tab (IIS 6) 或 AppPool (IIS 7+)

    x64 与 x86 取决于 IIS 6 的元数据设置 W3SVC/AppPools/Enable32BitAppOnWin64 或 IIS 7 中的 AppPool。

    【讨论】:

    • 两台机器都是32位的,我刚刚确认了。为我没有考虑过的事情 +1
    • @turbo 我想你可以使用代码ConfigurationManager.OpenMachineConfiguration().FilePath 找出它在哪里寻找machine.config。您需要引用 System.Configuration 程序集。
    • 嗯,它在两台机器上显示为相同的位置。我想我的猜想是错误的。也许我的项目以某种方式没有引用更新的版本(我知道你必须重新启动 IIS Admin Service,我已经这样做了)。你证明了我的猜想是错误的,但回答了我的问题。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    相关资源
    最近更新 更多