日期:2014-05-17  浏览次数:20637 次

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删除第一个试试,然后删除第二个保留第一个试试。交换下位置删除试试
------解决方案--------------------