vs调试中出现异常无法跳转下一步v

vs调试中出现异常无法跳转下一步v,第1张

一、无法在web服务器上启动调试,您没有调试web服务器进程的权限

具体:无法在web服务器上启动调试,您没有调试web服务器进程的权限,您需要以web服务器的用户账户身份运行,或者具有管理员权限。

现象:手动修改网站项目的启动端口号,调试报错

原因:从Windows NT 6.1开始,既Windows Vista版本开始,增强了用户控制,尤其是Windows 8。如果没有用系统优化软件做过用户控制,系统权限调整,即默认的情况下。

Visual Studio 必须是"以管理员身份运行",即鼠标右键"以管理员身份运行",不是指你当前登录的账户是不是Administrator的问题。否则当你的Visual Studio在F5启动调试的时候,就会出现以上错误:"无法在web服务器上启动伍者枣调试,您没有调试web服务器进程的权限,您需要以web服务器的用户账户身份运行,或者具有管理员权限。"

解决办法:

桌面,鼠标移动到Visual Studio 2012 上方。右键--〉属性

单击--〉高级

在"用管理员身份运行(R)" 打勾,然后确定。OK,解决了。

或者每次右键"以管理员身份运行"。

二、设置网站项目(website)的默认启动端口

1.说明

在VS中 没有提供修改端口的地方,在网站的属性页中

不可修改

2.如果想要修改生产环境(IISExpress)的端口需要在解决方案源代码修改

使用记事本等打开.sln文件

手动修改启动地址。【不止一处】

三、web站点和控嫌御制台项目同时运行的方法

场景:本地修改了WCF中的代码,腔拆随站点一起启动的。现由一个控制台项目test 测修改的功能。调试进本地WCF的代码

先将本地站点(wcf)运行起来;然后,再在控制台项目 右键,调试-》启动新实例。就可以断点调试了。

四、断点调试不进

注:无法进入的断点是空心的,可以进入的断点是实心的。

当前不会命中断点,源代码与原始版本不同

因为调试时使用的是PDB(Program Database)文件,而当我们在类库中修改代码后,由于没有重新编译,会使用上次的PDB文件,这样就造成了原来的PDB和新的代码文件不匹配,自然调试时也就无法正确进入断点。

再有,有时断点会跳到其他的位置,是因为断点是定位在代码的行上的,而PDB文件中记录了代码的行数,但是PDB文件却没有更新,所以当我们强行将断点处的代码设置"允许源代码与原始版本不同"时,如果依旧使用上一次的PDB文件,自然断点的行数就定位到了上次记录的代码行数,所以断点就会往后跳了。

参考:VS调试时断点无法进入或命中的原因及解决方法(PDB引发的)

当前不会命中断点,还没有为该文档加载任何符号

参考:VS2017调试代码显示“当前无法命中断点,还没有为该文档加载任何符号”

注:在mvc中 视图cshtml中,如果 代码有错误,eg少了个using引用(而vs并没有提示),可能也是调试不进;还有Razor语法错误也是调试不进。

五、global.asax调试不进

问题:把断点打在global中的application_start()中,但VS不会在那个位置debug

因为application_start只运行一次,下一次再运行时,appDomain已经存在了所以还是跟不到断点,这时需要重启一下iis

六、端口80正在使用

1、问题:无法启动IIS Express Web服务器。来自IIS Express的输出:端口“80”正在使用

输入 netstat -aon|findstr "80" 回车,记下最后一位数字,即PID,这里是4。

继续输入tasklist|findstr "4",回车,查看是哪个进程或者程序占用了80端口,结果是:system

进程pid4占用80端口的解决办法

电脑需要重启。

2、若还没有解决问题,

Windows下80端口被pid为4的System进程占用解决方法

【使用端口映射查看命令netstat -ano,发现80端口是被pid为4的System进程占用,按以前的经验:一是被IIS占用;二是SQL Server Reporting Services报表服务占用。

使用HTTP命令netsh http show servicestate详细查看,会发现有80端口的信息,记下版本。

请求队列名称: 请求队列尚未命名。这个PID有问题

正常的是,请求队列名称: Clr4IntegratedAppPool{907947D4-6412-4B3E-BE5F-2847289D41F6}

于是结束掉这个PID=2556的服务,可以了 

后来发现 ReportingServicesService是SQL Report的问题,直接将其禁用掉。

七、无法访问请求的页面,因为该页的相关配置数据无效

1、无法读取配置文件

初始配置web项目运行的时候,在属性中 用虚拟目录时,报以下错误

注意去看下项目目录下,.vsconfig 中的配置路径等是否正确。

2、由于权限不足而无法读取配置文件

给文件夹加入IIS_IUSRS用户权限(注意要替换所有子目录权限也要选上)

八、VS中生成项目,报错: CS202 无法打开xxx.dll 进行写入,对路径xx.dll的访问被拒绝。

首先看下这个dll文件是否生成了(是否存在),应该是不存在,报错的,

那我们可以看下是否有什么杀毒软件将这个文件清除了,导致每次生成后有删除,然后一直不存在,生成项目报错

九、VS中生成项目,报错: CS0006 未能找到元数据文件 xxx.dll

这个问题发生在—我在不同的解决方案中把一个项目搬来搬去,终于出现了传说的CSC : error CS0006。

编译的时候总是提示一个引用中不存在的项找不到。无论怎样删除项目,删除引用都没法通过生成。

解决方案:

打开csproj项目文件,找到包含出问题的引用项所在的 <ItemGroup>项,整个删除此项。

转来的:希望对你有用

经过检查发现是由于先安装vs2008后安装iis的缘故,只需重新注册下AspNet就可以了,具体步骤如下

1 打开运行,输入cmd进入到命令提示符窗口。

2 进入到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 目录。

3 输入aspnet_regiis.exe –i 执行既可

注意:如果系统为64位 第二步的路径为C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727

iis7错误提示An error occurred on the server when processing the URL...

win7下面运行ASP程序总是出错,原来是站点配置的问题。。。

问题一:MS Jet引擎改变了临时目录的位置,但是又没有对临时目录的存取权限,导致数据库使用失败(因为sql问题,后改用access数据库测试)。

解决办法:

给“系统盘:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp”目录添加一个“Authenticated Users”的用户,其中AppData目录是隐藏的,在进入的时候可以直接在地址栏输入路径,或者在文件夹选项里显示隐藏文件。

设置权限步骤:右击Temp文件夹,选择“属性”》选择“安全”选项卡》单击“编辑”》出来“Temp 的权限”对话框,单击“添加”,在下面的“输入对象名称来搜梁旦选择”中输入Authenticated Users(也可以点击“高级...”按钮,再点击“查找”按钮,在查找结果中选择Authenticated Users),确定》返回到“Temp 的权限”,将Authenticated Users的权限中的完全控制给勾上渣团,确定》确定。

问题二:是IIS7默认不把详细错误发送的客户端,所以只给我们一句脚本错误消息(本信息可以修改):An error occurred on the server when processing the URL. Please contact the system administrator。这样,到底出什么错就不得而知。

解决办法:

将iis7中ASP模块里面的“将错误发送到浏览世扰器”改成True。

很关键,否则你都不知道错误出在哪里。

权限,这一步骤是必须的,否则在登录 FTP 的时候会出现错误。如下图所示,我们会看到由于权限不足导致无法读取配置文件的错误提示。而无权限读取的文件是位于 inetsrv\config 下的 redirection.config 文件。经过 gOxiA 的测试发现即使为该文件添加了相应的权限但仍提示登录失败,最终要配置 config 目录权限,赋予 Network Service(FTP7 进程的默认帐晌喊敏户)有读取权限后才能正常登录。

为了简单的演示目录权限的设置过程,gOxiA 参考了 IIS.net 中相关文章的命令行,其中涉及到的 cacls 可以直接运行就可以得到参数帮助。要执行的命令行如下:

cacls c:\Windows\system32\inetsrv\config /G "Network Service":R /E

配置了 config 目录权限后,请确保 “Network Service”对该目录下的 administration.config 和 redirection.config 文件有读取权限,否则请执行如下命令行:

cacls c:\Windows\system32\inetsrv\config\administration.config /G "Network Service":R /E

cacls c:\Windows\system32\inetsrv\config\redirection.config /G "Network Service":R /E

之后创建一个 FTP 的默认目录,注意请添加“Network Service”有完全控制的权限。

下面,我们开始配置 IIS7,创建一个 FTP 站点,为其启用 IisManagerAuth,并创建一个 IIS管理凭据的帐户,使其具备 FTP 相应的访问宴枝权限。

在开始之前请确认已经安装了 IIS7 的 管理服务组件,否则请进入服务器管理,单击添加角色服务,选中 IIS7 的管理服务组件,进行安装。

默认可以使用 C:\Inetpub\FTProot 作为 FTP 主目录,当然也可以根据自己的需要创建或选择一个目录,但是需要注意,请赋予“Network Service”有完全控制权限。

下来渗悔我们配置 IIS7 启用 IIS管理器凭据,在启用之后才能使用 IisManagerAuth。为此,打开 IIS管理器,双击“管理服务”,选中“Windows 凭据或 IIS 管理器凭据”,最后单击右边 *** 作列表下的“应用”。

之后使用“IIS管理器用户”创建一个 IIS 所管理的用户帐号。为此,双击“IIS 管理器用户”,单击“添加用户”,在d出的窗体中输入用户名和密码。

上述 *** 作一旦完成,就可以开始创建一个 FTP 站点,首先选中 IIS

管理器左边的导航窗体中的“网站”,之后单击鼠标右键,左键单击“添加 FTP 站点…”。

“站点信息”中输入 FTP 站点名称,如:Default FTP Site。并选择默认的内容目录,本例中 gOxiA 使用的是 C:\inetpub\FTProot,单击“下一步”。

在“绑定和 SSL 设置”中,根据需要启用虚拟主机名,注意:FTP“虚拟主机名”可能不被一些客户端所支持。此外请将 SSL 默认的配置“需要”更改为“允许”,否则如果不配置 SSL 证书并使用 SSL FTP 登录方式将导致客户端连接失败。

在 “身份验证和授权信息”配置中,更具需要选择身份验证方式,并指定一个用户和权限。如果你只允许 IIS管理器用户能够访问该 FTP 站点,那么这一步可以不配置,直接单击“完成”。方便大家的学习,本例中允许系统用户中的 Administrator 对该 FTP 有读取和写入的权限。

现在以 Windows 身份验证方式的 FTP 站点已经创建好了,下面我们可以使用 Administrator 来登录 FTP。

经过测试,创建的 FTP 站点已经正常运行,下面我们将要为该 FTP 站点添加之前创建的 IIS管理器用户 — goxia 有相应的访问权限。

首先,选中“Default FTP Site”,在内容窗体中双击“FTP 身份验证”,进入“FTP 身份验证”设置后单击右边 *** 作中的“自定义提供程序…”,在d出窗体中勾选“IisManagerAuth”。

启用了 IisMangerAuth 后,打开“FTP 授权规则”,添加指定的用户 — goxia,并赋予有相应的访问权限。

最后我们来使用 goxia 这个 IIS 管理器用户登录 FTP 进行测试。

如 果首次登录失败,提示无法验证用户和密码,则需要打开该 FTP 站点的“IIS 管理器权限”设置,添加 goxia 这个帐号。之后测试登录成功后再将其帐号从中删除即可。查找 IIS.net 的相关指引文档,发现默认是要执行这步配置的,但是 gOxiA 认为这一步是配置用户是否具有该 FTP 的远程管理权限的,一旦配置并启用 IIS 的远程管理服务,那么该帐号具备的权限可能会造成安全隐患。目前 gOxiA 也未完全理解。希望有网友指点一二!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8148326.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存