vs08 C# 做的网站怎么发布到 Win2003的iis6上??

专制的网站 2012-05-14 04:55:36
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 的。
...全文
246 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyl8781697 2012-05-15
  • 打赏
  • 举报
回复
LZ再iis6中更改自己网站的应用程序池的.net试试
专制的网站 2012-05-15
  • 打赏
  • 举报
回复
终于在百度看到了解决方式 :http://zhidao.baidu.com/question/158105775.html

解决方法<一>:在IIS将该目录做成应用程序:打开IIS —> 默认Web站点 —> 找到该目录右键打开属性页 —> 目录(或虚拟目录)卡 —> 在下半部分“应用程序设置”处点第一项的“创建”,把该目录做成应用程序。

解决方法<二>:
1、若IIS中没有应用程序名,先创建,若还不行把C:\WINDOWS \Microsoft.NET\work\v2.0.50727\CONFIG\machine.config中的所有 allowDefinition="MachineToApplication"改为allowDefinition="Everywhere"
2、在网站对应的虚拟目录上右键,选属性,然后在应用程序名后点创建。

用了“解决方法<一>”
hnlywf111 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]

引用 13 楼 的回复:
在VS中能正常运行吗?如果能,那你看localhost是否正常。

vs调试正常。楼顶有写 http://localhost/iisstart.htm 是正常的

引用 14 楼 的回复:
没有写入权限

怎么弄??菜鸟不明白
[/Quote]
右击程序文件—属性—安全—编辑—加入相对应的权限。
专制的网站 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]
在VS中能正常运行吗?如果能,那你看localhost是否正常。
[/Quote]
vs调试正常。楼顶有写 http://localhost/iisstart.htm 是正常的

[Quote=引用 14 楼 的回复:]
没有写入权限
[/Quote]
怎么弄??菜鸟不明白
imfor 2012-05-15
  • 打赏
  • 举报
回复
没有写入权限
licai1210 2012-05-15
  • 打赏
  • 举报
回复
在VS中能正常运行吗?如果能,那你看localhost是否正常。
专制的网站 2012-05-14
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]
你就用4.0打开下你原来的那个项目就好了,另外IIS里面也需要设置的
[/Quote]
我现在就是 vs2010 建立的最简单的网站 ,然后 Winsrv2003 装了 dotNetFx40_Full_x86_x64.exe ,然后iis 默认网站-->属性-->asp.net 已经选了 4.0.30319 。web扩展服务 里的 .net4.0 也已经允许了。 7楼错误
licai1210 2012-05-14
  • 打赏
  • 举报
回复
你就用4.0打开下你原来的那个项目就好了,另外IIS里面也需要设置的
专制的网站 2012-05-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
另外FW的版本可能需要调下,还有你2个webconfig删除第一个试试,然后删除第二个保留第一个试试。交换下位置删除试试
[/Quote]
FW的版本? 什么版本?没明白...
licai1210 2012-05-14
  • 打赏
  • 举报
回复
另外FW的版本可能需要调下,还有你2个webconfig删除第一个试试,然后删除第二个保留第一个试试。交换下位置删除试试
专制的网站 2012-05-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
有可能你的项目中有2个webconfig
[/Quote]
还真有两个 一个在C:\Inetpub\wwwroot\WebSite1_vs2010文件夹下,一个在 C:\Inetpub\wwwroot\WebSite1_vs2010\Account 文件夹下,但是我只保留其中任意一个时,还是报 7楼错误
专制的网站 2012-05-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
你用vs08做的网站是基于asp.net2.0的,所以要在iis中设置asp.net版本为2.0。
[/Quote]
是这样对应的么?
我现在用了 vs2010 的默认生成的代码(.net 4),放进去,Win2003 iis设置为4.0 。还是不行啊,现在 是 4 和 4 对应, 错误如下:
licai1210 2012-05-14
  • 打赏
  • 举报
回复
有可能你的项目中有2个webconfig
dalmeeme 2012-05-14
  • 打赏
  • 举报
回复
你用vs08做的网站是基于asp.net2.0的,所以要在iis中设置asp.net版本为2.0。
imfor 2012-05-14
  • 打赏
  • 举报
回复
iis选.net 2.0,然后把项目引用3.5的dll都拷过去
liuxibei1987 2012-05-14
  • 打赏
  • 举报
回复
你看下iis里面的.net版本和你网站的版本是不是一样的
bonnibell 2012-05-14
  • 打赏
  • 举报
回复
Webconfig 有些内容是不同的
以下是4.0默认生成的


<?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>



备份现在的webconfig
用上面4.0下的webconfig替换你现在的webconfig
将被封的自己的webconfig上针对站点配置的内容加到新webconfig的相关配置节上

试一下
  • 打赏
  • 举报
回复
iis下设置网站ASP.NET 版本为对应版本

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧