当前位置: 代码迷 >> ASP.NET >> vs08 C# 做的网站如何发布到 Win2003的iis6上?
  详细解决方案

vs08 C# 做的网站如何发布到 Win2003的iis6上?

热度:10131   发布时间:2013-02-25 00:00:00.0
vs08 C# 做的网站怎么发布到 Win2003的iis6上??
RT 
我的 win2003 已经装了 .net4(dotNetFx40_Full_x86_x64.exe) ,iis 也选择使用了 4.0.30319版本的.net ,Web服务扩展 ASP.net v4.0.30319 也允许了。
我用 vs08 建了一个空的 网站 ,如下图 :(我这里 vs08 默认使用的是 .net 3.5 版本)

然后,重新生成网站 ok ,然后 工程名-->右键--> 发布网站,成功的在 C:\Documents and Settings\XXXXX\My Documents\Visual Studio 2008\Projects\WebSite1\PrecompiledWeb\WebSite1 中生成了一系列文件 ,我把 WebSite1 文件夹复制到 iis的目录 C:\Inetpub\wwwroot 下, 然后重启了 iis ,然后浏览网页:http://localhost/webSite/Default.aspx 发生错误:


不知为何啊,弄了好久弄不好啊~~ 求助救命...

ps:直接 访问 http://localhost/iisstart.htm 是 OK 的。

------解决方案--------------------------------------------------------
iis下设置网站ASP.NET 版本为对应版本
------解决方案--------------------------------------------------------
Webconfig 有些内容是不同的
以下是4.0默认生成的

XML code
<?xml version="1.0"?><!--  有关如何配置 ASP.NET 应用程序的详细信息,请访问  http://go.microsoft.com/fwlink/?LinkId=169433  --><configuration>  <connectionStrings>    <add name="ApplicationServices"         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"         providerName="System.Data.SqlClient" />  </connectionStrings>  <system.web>    <compilation debug="true" targetFramework="4.0" />    <authentication mode="Forms">      <forms loginUrl="~/Account/Login.aspx" timeout="2880" />    </authentication>    <membership>      <providers>        <clear/>        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"             enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"             applicationName="/" />      </providers>    </membership>    <profile>      <providers>        <clear/>        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>      </providers>    </profile>    <roleManager enabled="false">      <providers>        <clear/>        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />        <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />      </providers>    </roleManager>  </system.web>  <system.webServer>     <modules runAllManagedModulesForAllRequests="true"/>  </system.webServer></configuration>
------解决方案--------------------------------------------------------
你看下iis里面的.net版本和你网站的版本是不是一样的
------解决方案--------------------------------------------------------
iis选.net 2.0,然后把项目引用3.5的dll都拷过去
------解决方案--------------------------------------------------------
你用vs08做的网站是基于asp.net2.0的,所以要在iis中设置asp.net版本为2.0。
------解决方案--------------------------------------------------------
有可能你的项目中有2个webconfig
------解决方案--------------------------------------------------------
另外FW的版本可能需要调下,还有你2个webconfig删除第一个试试,然后删除第二个保留第一个试试。交换下位置删除试试
------解决方案--------------------------------------------------------
  相关解决方案