在今天,配置完IIS后,看到项目多了一个aspnet_client的文件夹,这是干什么的?在网上搜一下吧!
看到很多关于它的链接,但内容基本都是一样的,在园子里也搜到一篇,也不知道是谁是原创,杯具!自己找到了一篇,分享一下吧!
标题:《网站目录下自动生成“aspnet_client”文件夹是什么?》
链接:http://www.ml.tc/aspnet_client/
原文如下:
先说点题外话,昨天被通知维护下的一个企业站被挂马,链接了恶意站点http://www.hcgc120.com/images/1.gif,在IE下被360拦截,因为我一直用着FF,导致这个木马存在了三个月之久。
好了,进入正题,查看FTP的时候意外发现了aspnet_client这个目录,google一下:
在虚拟主机的 wwwroot 目录下您会发现有一个名为 aspnet_client 的文件夹,该文件夹中含有集成了 ASP.NET 的 “SmartNavigation”功能的 javascript。如果启用 SmartNavigation,网页设计人员就可以在页面以及其他内容之 间保持滚动条和元素焦点的位置。 目录 aspnet_client 是虚拟根 Web 应用程序目录,该目录是当您安 装 .NET Framework SDK 或 Visual Studio .NET 时在您的计算机上创建的。此文件不占用户空间,请用户在使用网站 空间的时候不要删除该文件夹。 例如,随 ASP.NET 附带的脚本文件位于以下位置。 d:\home\ftp用户名/wwwroot/aspnet_client/system_web//文件 如果安装有 SDK 的多个版本,您将在 aspnet_client/system_web 下看到多个子目录。因为控件库与脚本文件的特定版本相关联,所以部署模式允许控件库的不同版本并行运行。
出现了“aspnet_client”这个文件夹,是干什么的? 这个是文件的路径下还有文件!
下面的完整路径: aspnet_client\system_web\1_1_4322 里面还有三个文件:SmartNav.htm,smartnav.js,webuivalidation.js!
作用是:
安装了.net框架之后,就会在网站目录下出现这样的文件夹.用以支持.net环境.1_1_4322表示你的.net framework 的版本为 1.1.4322,里面的3个文件用于为.net验证控件提供脚本支持 服务器里面装了.net后,会在服务器上每个网站的目录里面增加这个文件夹的 在生成虚拟站点的时候会自动在根下生成一个名字为aspnet_client的文件夹,你看看是不是这个文件夹没有了?
解决办法重新建一个独立站点,把生成的aspnet_client文件夹复制到这个站点的跟下。 首先确定你安装了iis 然后从命令行进入文件夹C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\ 盘符,系统文件夹,版本号可能不一样,看你自己的机子,版本号选择最高的那个文件夹 运行命令aspnet_regiis.exe -i
安装完毕即可使用vs打开 一点资料: aspnet_regiis命令详解.
用法: aspnet_regiis.exe[-i[r][-enable]|-u[a]|-r|-s[n]|-k[n]|-lv|-lk|-c|-e[a]|-?]
-i-安装ASP.NET的此版本,并更新IIS元数据库根处的脚本映射和根以下的所有脚本映射。现有的低版本脚本映射升级到此版本。
-ir-安装ASP.NET的此版本,仅注册。不更新IIS中的脚本映射。
-enable-带-i或-ir指定-enable时,还将在IIS安全控制台(IIS6.0或更高版本)中启用ASP.NET。
-s-在指定的路径以递归方式安装此版本的脚本映射。现有的低版本脚本映射升级到此版本。
例如aspnet_regiis.exe-sW3SVC/1/ROOT/SampleApp1
-sn-在指定的路径以非递归方式安装此版本的脚本映射。现有的低版本脚本映射升级到此版本。
-r-为IIS元数据库根位置的此版本以及根以下的所有脚本映射安装脚本映射。不论当前版本是什么,所有现有的脚本映射都更改为此版本。
-u-卸载ASP.NET的此版本。到此版本的现有脚本映射重新映射到此计算机上安装的其余的最高ASP.NET版本。
-ua-卸载计算机上的所有ASP.NET版本 -k-从指定的路径中以递归方式移除到任何ASP.NET版本的所有脚本映射。
例如aspnet_regiis.exe-kW3SVC/1/ROOT/SampleApp1
-kn-从指定的路径中以非递归方式移除到任何ASP.NET版本的所有脚本映射。
-lv-列出计算机上安装的所有ASP.NET版本(包括状态和安装路径)。
Status:Valid[(Root)]|Invalid -lk-列出包含ASP.NET脚本映射的所有IIS元数据库项的所有路径(连同版本一起)。不显示从父项继承ASP.NET脚本映射的项。
-c-将客户端脚本的此版本安装到每个IIS站点目录的aspnet_client子目录中。
-e-从每个IIS站点目录的aspnet_client子目录中移除客户端脚本的此版本。
-ea-从每个IIS站点目录的aspnet_client子目录中移除客户端脚本的所有版本。
-?-打印此帮助文本。
example:
当系统新建一个asp.netweb应用程序的时候,提示错误信息如下: "VisualStudio.NET已检测到指定的Web服务器运行的不是ASP.NET版本,你将无法运行ASP.NET应用程序或服务。" 可以尝试运行 aspnet_regiis-i aspnet_regiis-r 两个命令来安装asp.net服务管理器.
如果还是不行的话,再尝试一下下面的操作:
1、先确定是不是1.1
2、把"IP地址"设成全部未分配
3、在IE连接设置中把本地地址不使用代理服务器那里打上勾 看完了,自己试一下!
正如文中所说的,你必须装上IIS,而且是1.1版,才可以!
在“首先确定你安装了iis 然后从命令行进入文件夹C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\ ”这里,你会发现路径不对。 估计有时.NET版本的问题,近似的在文件路径下查找到这个路径:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe
在命令行下输入这个路径,你就会看到关于改程序的功能,也有一些命令提示,看来版本升级,兼容了很多,也添加了很多。
该软件是:在本地计算机上安装和卸载 ASP.NET 的管理实用工具(4.0.30319)。
多了以下一些功能:
-- 配置加密选项 --
-pe 节 对配置节进行加密。可选参数:
[-prov provider] 使用此提供程序进行加密。
[-app virtual-path] 在此虚拟路径加密。虚拟路径必须以正斜杠开头。如果此 虚拟路径为“/”,则表示站点的根目录。如果未指定
-app,则对根目录下的 web.config 进行加密。
[-site site-name-or-ID] 在 -app 中指定的虚拟路径的站点。如果未指定,将 使用默认网站。
[-location sub-path] 位置子路径。
[-pkm] 对 machine.config 而不是 web.config 进行加密/解密。
-pd 节 对配置节进行解密。可选参数:
[-app virtual-path] 在此虚拟路径解密。虚拟路径必须以正斜杠开头。如果此 虚拟路径为“/”,则表示站点的根目录。如果未指定
-app,则对根目录下的 web.config 进行解密。
[-site site-name-or-ID] 在 -app 中指定的虚拟路径的站点。如果未指定,将 使用默认网站。
[-location sub-path] 位置子路径。
[-pkm] 对 machine.config 而不是 web.config 进行加密/解密。
-pef 节 web-app-physical-dir 对配置节进行加密。可选参数: [-prov provider] 使用此提供程序进行加密。
-pdf 节 web-app-physical-dir 对配置节进行解密。
-pc 容器 在 ContainerName 中创建一个 RSA 密钥对。可选参数:
[-size key-size] Key-size。默认值为 1024。
[-pku] 是用户容器而不是计算机容器。
[-exp] 使私钥可导出。
[-csp provider] 要使用的 Csp 提供程序。
-pz 容器 删除 ContainerName。可选参数: [-pku] 是用户容器而不是计算机容器。
-pi 容器文件 从 XML 文件中导入一个 RSA 密钥对。可选参数:
[-pku] 是用户容器而不是计算机容器。
[-exp] 创建可导出的密钥。
[-csp provider] 要使用的 Csp 提供程序。
-px 容器文件 向 XML 文件导出一个 RSA 密钥对。可选参数:
[-pku] 是用户容器而不是计算机容器。
[-pri] 包括私钥。
[-csp provider] 要使用的 Csp 提供程序。
-pa 容器帐户 向容器中添加对帐户的访问。参数:
[-pku] 是用户容器而不是计算机容器。
[-csp provider] 要使用的 Csp 提供程序。
[-full] 添加完全访问(默认为读访问)。
-pr 容器帐户 从容器中移除对帐户的访问。参数:
[-pku] 是用户容器而不是计算机容器。
[-csp provider] 要使用的 Csp 提供程序。
-- 配置远程访问选项 --
-config+ 启用对配置的远程访问。
-config- 禁用对配置的远程访问。
在命令行下,试一试吧!