global.asax在本地计算机上运行,​​但在我发布到服务器之后不能运行

时间:2010-09-05 19:56:06

标签: .net asp.net visual-studio-2010 deployment global-asax

如何让我的global.asax文件发布到我们的ftp网站?

我已经在我的项目中添加了一个global.asax文件(使用带有c#from vs2010的asp.net),这在我的本地计算机上运行良好。然后当我发布到我们的ftp网站。然后从ftp文件夹复制到站点文件夹中覆盖旧文件。它不起作用。我使用的是Windows Server 2008 R2 Enterprise。

7 个答案:

答案 0 :(得分:5)

检查Global.asax文件的“Build action”是否在文件属性中设置为“Content”。将部署设置为内容的所有文件。

答案 1 :(得分:5)

我们必须在发布配置文件中取消选中发布期间的预编译功能,这样才能解决问题。

enter image description here

答案 2 :(得分:4)

我遇到了同样的问题,发现我还必须将Copy to Output Directory属性设置为Copy always

答案 3 :(得分:3)

我们尝试了很多东西。

  1. Global.asax is not publishing and event are not firing in Global.asax
  2. Why are the Global.asax events not firing in my ASP .NET website?
  3. Global.asax not firing for Release build
  4. Mystery of Global.asax in ASP.NET MVC application
  5. 我们还尝试将以下文件放在rootbin目录中。

    1. App_global.asax.dll App_global.asax.compiled 文件
    2. PrecompiledApp.config
    3. 没有一个有效!

      我们必须为我们的asp .net 2.0网站提供原始Global.asax而不是pre-compiled dll,以便触发全局事件。

      希望这有助于某人!干杯!快乐的编码! :d

答案 4 :(得分:1)

尝试以下方法:

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
        <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
    </handlers>

    <validation validateIntegratedModeConfiguration="false" />
</system.webServer>

答案 5 :(得分:1)

我从vs 2013发布时遇到了同样的问题,后来为我工作

yourproject - &GT;属性 - &GT;基于Web&GT;单击“创建虚拟目录”。 (即使您在再次尝试之前创建了虚拟目录)

希望这会有所帮助。

答案 6 :(得分:0)

尝试发布以下适合我的文件

App_global.asax.dll
App_global.asax.compiled
PrecompiledApp.config
yoursite.dll

并且正如@GabrielG所说,你必须在发布期间取消选中预编译

我希望这有助于其他人。