【问题标题】:allowDefinition='MachineToApplication' error only on my hosted websiteallowDefinition='MachineToApplication' 错误仅在我的托管网站上
【发布时间】:2012-08-20 10:54:51
【问题描述】:

错误:

解析器错误消息:使用注册为的部分是错误的 allowDefinition='MachineToApplication' 超出应用程序级别。这 错误可能是由于未将虚拟目录配置为 IIS 中的应用程序。

Line 10: </connectionStrings>
Line 11: <system.web>
Line 12: <roleManager enabled="true" />
Line 13: <membership>
Line 14: <providers>

源文件: \Ns2\f\Users\cPanel\jdlferre\public_html\orangefresh\web.config
线路:12

我浏览了互联网,但没有运气,我的子文件夹甚至我网站上的任何地方都没有任何其他 web.config 文件。我不使用 IIS,所以我也把它刮掉了......

我的网站在本地运行良好,只有在线才出现此错误...

【问题讨论】:

  • \jdlferre\public_html\orangefresh\web.config 这不是您可以控制的文件吗?
  • 是的,我可以控制它...这是我网站中唯一的 web.config 文件。
  • 当您说您不使用 IIS 时,您如何在没有 IIS 的情况下在线托管网站?
  • 您已将此 web.config 放置到子目录中,但您无法使用此选项
  • DarkHippo:我不明白你的意思(这很可能是我的错——这是我尝试主持的第一个 ASP.NET 项目),我对这方面一无所知IIS 真的,我的电脑上没有任何 IIS,我使用 Filezilla 上传我的网站。 Aristos:我没听懂你的意思,我的 web.config 在子目录中?...

标签: asp.net windows-hosting


【解决方案1】:

我假设您的主机正在网站的子文件夹中运行您的网站。该网站将包含一个顶级 web.config,然后您的 web.config 的各个部分将与父配置文件冲突。

我建议您尝试在本地复制该环境。

【讨论】:

  • 好吧,在本地我没有关于复制环境的问题 - 你的意思是将 web.config 文件放在我的网站文件夹上方的文件夹左右吗?我刚才试过了,没有问题...
  • 是的,顶级 web.config 中可能会有很多默认配置部分。我会尝试在根文件夹中包含由 Visual Studio 生成的默认配置文件,然后将您的网站放在其中的子文件夹中。
  • 澄清一下,一旦你有了这个设置,你应该只将你的网站上传到主机(而不是顶级配置文件)
  • 我刚刚在本地尝试过,我的网站仍然运行良好...在我的项目上方的文件夹中放置了一个默认的 web.config 文件,没有任何问题...我在新网站上打开了一次我的网站Visual Studio 2012 试用,它给了我一个关于 IIS 版本的消息,这和我的问题有什么关系吗?
  • 您必须将各个部分从您的网站配置文件中移出到顶层,例如 &lt;authentication&gt;&lt;membership&gt;
【解决方案2】:

好的,现在给我一个“解析器错误消息:无法识别的属性 '目标框架'。请注意,属性名称区分大小写。” 这 当我尝试移动我的 web.config 文件时也发生了这种情况。 – Joao Ferreira 1 分钟前

在我看来,您正在尝试在仅支持 .net 3.5 的托管服务提供商下运行 .Net 4 或更高版本的网站

您可以在 Visual Studio 中右键单击网站根目录,然后转到“属性页面”,然后单击“构建”(注意:这是在 VS2010 中,我没有 2012,但可能非常相似)。这应该会为您提供目标框架信息。

如果你使用的是 VS2012,那么它可能会默认创建一个 .Net 4 网站,所以它可能会说 .NET Framework 4。

如果你没有使用任何需要 .Net 4 或更高版本的控件,你可以在 3.5 中重建它,看看是否能解决问题。

否则,请与您的托管公司核实,确保他们托管 .Net 4 网站。并非所有人都这样做,几个月前我遇到了这个确切的问题。

【讨论】:

  • 我的主机在 cPanel 上可以选择运行 ASP.NET 4.0 版
  • 是的,刚刚打电话给我的主机,他们确实支持 4.0。
  • 在这种情况下,请确保它是为 .Net 4 而不是以前的版本构建的。
  • 您可以删除 targetFramework 属性,看看是否解决了它
猜你喜欢
  • 1970-01-01
  • 2011-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-19
  • 2012-09-02
  • 1970-01-01
相关资源
最近更新 更多