asp.net - 我在服务器上使用的解决方案是哪个machine.config文件?

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

我有一个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文件。为了确认这一点,我在两个配置文件的userName和password末尾添加了随机数。在我的计算机上,执行此操作后,该应用程序甚至无法运行。在服务器上,它在添加随机数之前以相同的方式运行和出错。

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

最佳答案

您的服务器可能是64位服务器,这意味着它将位于:

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



64位运行时使用不同的machine.config。基本规则是这样的:
  • ASP.NET 1.x使用%WINDIR%\Microsoft.NET\Framework\v1.1.4322
  • ASP.NET 2.0/3.5 x86使用%WINDIR%\Microsoft.NET\Framework\v2.0.50727
  • ASP.NET 2.0/3.5 x64使用%WINDIR%\Microsoft.NET\Framework64\v2.0.50727
  • ASP.NET 4.0/4.5.x x86使用%WINDIR%\Microsoft.NET\Framework\v4.0.30319
  • ASP.NET 4.0/4.5.x x64使用%WINDIR%\Microsoft.NET\Framework64\v4.0.30319
  • 对于使用完整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选项卡(IIS 6)或AppPool(IIS 7+)

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

    关于asp.net - 我在服务器上使用的解决方案是哪个machine.config文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9233985/

    相关文章:

    asp.net - 如何在 Postman 中使用 ASP.NET 表单例份验证

    asp.net - Web Api 帮助页面来自 1 个以上文件的 XML 注释

    asp.net - GridView - 在后面的代码中设置列宽 (AutoGenerateColumns ="true")

    visual-studio-2010 - Visual Studio TFS 在待更改列表中显示未更改的文件

    visual-studio-2010 - 如何确定哪些加载项导致 Visual Studio 2010 的最大性能问题

    c# - 数据访问层的反射性能

    .net-3.5 - System.Speech.Synthesis 安装备用语言语音

    c# - 如何禁用回发或编码查询字符串 ASP.NET

    c# - VS2010/C# 中的全局 "using"指令?

    .net - 为什么不升级到最新的 .NET 框架?