gpt4 book ai didi

c# - 无法将MVC 4部署到服务器

转载 作者:太空狗 更新时间:2023-10-29 23:59:55 25 4
gpt4 key购买 nike

我的web应用程序只是一个用vs 2010 mvc 4制作的简单web应用程序,没有来自外部的任何代码。这只是VS2010的默认应用程序。我有豪华的windows主机。我从未更改过我帐户中的任何功能。我将所有文件复制到“//root目录”。在我的文件旁边,我看到各种文件夹,如:“,plesk,erro docs,cgi bin,logs”,我没有删除它们的权限。
我的所有项目都是“发布”配置。我尝试了所有在网上遇到的方法:
1.我复制了三个库到bin目录:
system.web.mvc、system.web.routing、system.web.abstractions
这些dll是我从gac(c:\ windows\microsoft.net\assembly\gac\u msil)复制的。我在web.config中插入了这样的字符串: 。我在vs2010中通过按钮“publish”使用了本地部署(到目录)。没有结果。
2.我复制了9个库到bin目录:
系统.web.abstractions.dll
系统.web.helpers.dll
系统.web.mvc.dll
系统.web.optimization.dll
系统.web.razor.dll
系统.web.routing.dll
系统.web.webpages.deployment.dll
系统.web.webpages.dll
system.web.webpages.razor.dll。
这些dll是我从gac(c:\ windows\microsoft.net\assembly\gac\u msil)复制的。我在vs2010中通过按钮“publish”使用了本地部署(到目录)。我发出这样的字符串: 。没有结果。
3.我将三个库复制到bin目录:system.web.mvc、system.web.routing、system.web.abstractions-这些dll是我从gac(c:\ windows\microsoft.net\assembly\gac\u msil)复制的。我发出这样的字符串: 。我在vs2010中通过按钮“publish”使用了通过ftp选项进行部署。没有结果。
4.我复制了三个库到bin目录:
系统.web.abstractions.dll
系统.web.helpers.dll
系统.web.mvc.dll
系统.web.optimization.dll
系统.web.razor.dll
系统.web.routing.dll
系统.web.webpages.deployment.dll
系统.web.webpages.dll
system.web.webpages.razor.dll-这些dll是我从gac(c:\ windows\microsoft.net\assembly\gac\u msil)复制的。我发出这样的字符串: 。我在vs2010中使用了ftp部署,按钮“publish”没有结果。
5.我试过通过filezzilla上传文件。 。不过,这是一次徒劳的尝试。
6.我试过通过浏览器上传文件。不过,这是一次徒劳的尝试。
7.我试图通过浏览器上传zip文件,并在godaddy服务器上提取它们。 。不过,这是一次徒劳的尝试。
上面列出的所有尝试都在屏幕上显示:“nup.com我的网站即将启动。”
什么都没变。
我有个问题。
我做错了什么?
我读过菲尔·哈克的所有文章。任何帮助都将不胜感激!:)

最佳答案

好吧-你的问题里面有很多问题。我将试着一次一个,以及你的一些评论,这样我们可以a)了解MVC应用程序的构建/发布过程,b)希望你的项目在GoDaddy运行。
1.如果我在web.config中更改了,那么我应该重新编译我的项目并再次上载吗?
不,除非您在本地更改web.config并需要上载这些更改。如果您使用ftp/连接到实际web服务器上的web.config,iis将自动重新启动(重新加载)您的应用程序,以便它可以应用web.config更改。更改web.config后,您将注意到第一个请求将花费10-20秒。这是IIS正在重新启动应用程序。如果您在本地更改web.config,那么应该重新构建/reupload。
2.将项目复制到目录的根目录是否正确?
你对这个问题的措辞使我认为是的,你做错了。在visual studio中创建项目时,会在实际硬盘上获得一个解决方案文件夹。如果正在编译该项目,然后将整个解决方案文件夹复制到Web服务器,则为“是”,这不是正确的方法。你要做的是创建一个Publishing Profile。您可以通过web deploy(不确定godaddy是否支持)、ftp或文件系统来部署应用程序。通过执行visual studio发布过程,编译器a)根据设置(调试或发布)编译应用程序,b)应用适当的web.config转换,c)只输出运行应用程序所需的文件。第三部分很重要。所有的.cs文件(控制器、模型等)都被编译成一个.dll,这是需要部署的,而不是实际的源代码文件。发布过程会为您执行此操作。
我建议您在开发人员计算机上的某个位置创建一个文件夹,然后创建一个发布配置文件,将应用程序发布到该文件夹。您要将该文件夹的内容ftp到您的web服务器。要创建发布配置文件,请右键单击MVC项目并选择Publish。这将显示向导,供您设置设置。
3.我做错了什么?
在这一点上有点难说。可能是您没有正确编译应用程序。ftp听起来很糟糕,但这不是mvc/visual studio的问题。有关godaddy上plesk的ftp问题(和其他项目),请检查此help link here.

4.how can I see the errors? Should I write a message or what should I do to know more about errors?

您应该能够在web.config中控制它。打开web.config文件并检查几行。要关闭自定义错误并将编译设置为调试模式。这有两件事。首先,从服务器返回的错误将更加详细,并且处于调试模式允许IIS/.NET实际显示导致问题的代码行。
  <system.web>
<compilation debug="true" targetFramework="4.5" />
<customErrors mode="Off"></customErrors>
</system.web>

请注意,如果您确实有web.config转换,这实际上可能会关闭这些设置。确保您的发布配置文件设置为在测试部署站点时部署 Debug配置。一旦您对结果满意,请将其设置回 Release配置,以便您的站点运行得更快,并且在出现错误时不会向潜在的坏人显示代码行。
5.我复制了9个库到bin目录…
好吧,这也可能是个问题。您不需要将任何内容复制到bin目录。如果要在已发布的项目中包含引用的程序集,只需打开项目下的 References文件夹。在那里,右键单击要在项目中包含的任何程序集,然后选择 Properties。在属性窗格中,您将看到 Copy Local选项。将此设置为true。这将告诉编译器在发布过程中将该程序集复制到输出文件夹(请参见,发布对您有很多好处!)我将对项目中与mvc相关的所有程序集执行此操作。在找到需要包含在项目中以使其在godaddy服务器上运行的程序集的正确组合之前,可以对此进行试验(一次一个)。我已经很久没有使用godaddy托管了,所以我不知道他们目前的功能是什么。
最后,我认为MVC4是.NET4或更高版本。请确保godaddy支持.net 4或更高版本,否则您将无法在该服务器上承载它(即使使用bin deploy),并且需要找到其他宿主。 Azure现在有一些非常好的产品, Gearhost非常可靠,但价格有点贵(尽管它们使用起来非常简单)。
编辑
只是一点关于godaddy的更多信息-确保你在尝试任何一个之前正确设置你的网站。你需要有Windows主机(很可能),它应该设置为使用集成的应用程序池(否则,它将显示你从未上传任何东西,因为没有'默认文档')。在这一点上,我想知道你的主机帐户是否被正确地设置为你想做的事情。 http://support.godaddy.com/help/article/6639/do-your-hosting-accounts-support-mvc3-applications(是的,我知道上面说的是mvc 3,但是设置同样适用于mvc 4)

关于c# - 无法将MVC 4部署到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21159691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com