托管服务器编译.aspx但不编译.cshtml

时间:2013-02-10 14:56:10

标签: c# asp.net-mvc web-applications web-hosting web-deployment

我一直在互联网上寻找一个好的答案一个星期,但找不到任何答案。我将提供我所拥有的所有信息,我认为可能对你们解决这个令人沮丧的问题有所帮助,最后我会告诉你自己的问题以及我所做的测试和结果。

我正在使用ASP.NET MVC 3(C#),这就是我一步一步做的事情:

  1. 我已将.dll和.xml文件添加到我的项目中,并根据许多在线网站和教程将Copy Local更改为True。
  2. 我已经构建了我的项目并在我自己的计算机上本地发布(使用文件系统发布方法)。
  3. 然后我通过FileZilla软件将已部署的网站实施到我的托管服务器中。
  4. 在我的网站上部署后,这是我的Bin文件夹:

    • EntityFramework.dll
    • Microsoft.Web.Infrastructure.dll
    • PagedList.dll
    • System.Web.Abstraction.dll
    • System.Web.Helpers.dll
    • System.Web.Mvc.dll程序
    • System.Web.Providers.dll
    • System.Web.Razor.dll
    • System.Web.Routing.dll
    • System.Web.WebPages.Deployment.dll
    • System.Web.WebPages.dll
    • System.Web.WebPages.Razor.dll

    这是我的packages.config文件:

    <?xml version="1.0" encoding="utf-8"?>
    <packages>
      <package id="EntityFramework" version="5.0.0" targetFramework="net45" />
      <package id="jQuery" version="1.7.1.1" targetFramework="net45" />
      <package id="jQuery.UI.Combined" version="1.8.20.1" targetFramework="net45" />
      <package id="jQuery.Validation" version="1.9.0.1" targetFramework="net45" />
      <package id="Microsoft.AspNet.Mvc" version="3.0.20105.1" targetFramework="net45" />
      <package id="Microsoft.AspNet.Providers.Core" version="1.1" targetFramework="net45" />
      <package id="Microsoft.AspNet.Providers.LocalDB" version="1.1" targetFramework="net45" />
      <package id="Microsoft.AspNet.Razor" version="1.0.20105.408" targetFramework="net45" />
      <package id="Microsoft.AspNet.WebPages" version="1.0.20105.408" targetFramework="net45" />
      <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
      <package id="Modernizr" version="2.5.3" targetFramework="net45" />
      <package id="PagedList" version="1.15.0.0" targetFramework="net45" />
    </packages>
    

    我的托管服务器支持MVC和ASP.NET 4.0,服务器是IIS7.0(集成管道)。但是,他们支持的最新ASP.NET框架是4.0。在我的项目属性中,它显示目标框架是4.5,但是当我部署网站时,在其属性中,它显示目标框架是4.0。

    问题

    当我在Internet上打开我的网站时,它设法在目录中找到Index.cshtml文件,但是,只能编译普通的html和css,服务器由于某些原因无法编译C#代码我不知道。这就是为什么我的所有链接都是空和空引用的原因,因为<a href="@Url.Action("Learn", "Home")">是我用来链接页面的原因。

    但无论如何,当我使用一个使用Visual Basic语言的简单.aspx文件(我不是很熟悉)时,它能够完美地编译文件而没有任何问题。

    可能是什么问题?我与我的托管服务提供商客户服务(godaddy.com)进行了长时间的讨论,即使他们将我的案例传递给他们的“最先进的技术人员”,但他们仍然找不到问题。

    这个问题可能来自我在bin文件夹中缺少的库吗?

    我必须说这一点,当我在自己的计算机localhost服务器上运行IIS 7.0 Express时,我的网站运行正常。

    谢谢和问候, 阿明

0 个答案:

没有答案