请教下大家,谢谢 了 !! 网站在IIS下运行正常, 在调试状态下运行报错. 发布后也运行正常

xiaoleixyz 2009-03-19 10:07:04
这两天弄的一个C# asp.net 项目,在VS2005下运行时总是报一个未解析成员的错.
但如果建个虚拟目录,在IIS下运行网站运行正常.发布后的也能正常运行.
调试状态下出的错是在调用一个第三方的DLL中的一个方法时出的.感觉很奇怪.
我把重新把BIN目录下的DLL引用了一遍还是不行.
因为这个是另人做的项目,现在只有代码,没有相关的文档,我现在感觉是代码应该没有什么问题,
会不会在引用时有什么问题? 请教下大家,谢谢 了.
...全文
322 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoleixyz 2009-03-19
  • 打赏
  • 举报
回复
我的项目只建了一个实例.vs2005里网站的有release编译吗,我这个默认只有DEBUG的.

[Quote=引用 15 楼 weizijia 的回复:]
这个我也遇到过
未解析成员,是不是有时候还提示你,堆栈中找不到对应
这是因为你的解决方案中有多个实例,生成了多个dll,
在调试过程中引用问题(举例子:两个项目一个Debgu,一个Relese)
可以这样实验一下,删除所有的dll
在配置管理器中将所有的选项调成一致如
XXX,Debug,AnyCPU,生成——对勾要打上
然后看一下解决方案的生成顺序,依赖关系
然后单击生成——从新生成。
————
看看结果吧
[/Quote]
zytkotw 2009-03-19
  • 打赏
  • 举报
回复
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\WebDev.WebServer /port:38438 /path:WebSite的本地路径 /vpath:"/"

/port: 指定端口号
/path:存放Web程序的物理路径
/vpath:虚拟路径 默认路径就是"/"
试一下用命令行Host Asp.net Development Server是否能Host起来.

问题出在WebServer上, 当用IIS充当WebServer时可以正常工作, 但用Asp.net Development Server时会跟你的第三方dll有冲突, 具体的问题不知道出在什么地方. 可能是权限问题.

weizijia 2009-03-19
  • 打赏
  • 举报
回复
这个我也遇到过
未解析成员,是不是有时候还提示你,堆栈中找不到对应
这是因为你的解决方案中有多个实例,生成了多个dll,
在调试过程中引用问题(举例子:两个项目一个Debgu,一个Relese)
可以这样实验一下,删除所有的dll
在配置管理器中将所有的选项调成一致如
XXX,Debug,AnyCPU,生成——对勾要打上
然后看一下解决方案的生成顺序,依赖关系
然后单击生成——从新生成。
————
看看结果吧
xiaoleixyz 2009-03-19
  • 打赏
  • 举报
回复
没有用webservice
zzxap 2009-03-19
  • 打赏
  • 举报
回复
环境要一致。。。

重新引用一次webservice
xiaoleixyz 2009-03-19
  • 打赏
  • 举报
回复
在global.asax 中的Application_AcquireRequestState中报的
“System.Runtime.Serialization.SerializationException”类型的异常在 WebDev.WebHost.dll 中发生,但未在用户代码中进行处理

其他信息: 未解析成员“TT.Library.Security.MercerPrincipal,TT.Library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”的类型
zytkotw 2009-03-19
  • 打赏
  • 举报
回复
检查一下你的第三方的dll是否有权限问题
xiaoleixyz 2009-03-19
  • 打赏
  • 举报
回复
怎么才能一级一级编译?

[Quote=引用 8 楼 xfreyes 的回复:]
一级一级编译,可能是编译顺序有问题
[/Quote]
花郎 2009-03-19
  • 打赏
  • 举报
回复
如果在IIS下发布都是正常的话,只有在调试的时候报错?
你看看可能是因为路径的问题,今天在调试的时候他会比在IIS下对生成一个虚拟路径。
最好是把报的错让我们看看。
xfreyes 2009-03-19
  • 打赏
  • 举报
回复
一级一级编译,可能是编译顺序有问题
xsm545 2009-03-19
  • 打赏
  • 举报
回复
友情帮顶...没遇到过
xiaoleixyz 2009-03-19
  • 打赏
  • 举报
回复
是运行时的错.报错的地方是在Global中.编译可以通过.
应该是您说的这种情况:"在调试状态的错误可能还没有被buil…"
应该如何解决呢.

[Quote=引用 3 楼 zytkotw 的回复:]
1. 是什么错误, 编译时还是运行时错误
2. 是js的错误还是cs文件的错误
3. 如果编译不通过是不能通过Publish方式发布的.
4. 发布后重启一下IIS

如果是WebSite 而不是Web Application,并且是将文件copy过来进程发布的. 那么程序运行的时候会进行动态编辑, 在动态编译的过程中, 首次访问会引发Global资源的build, 并且默认情况下会对当前的request所在的文件夹下的内容进行build, 因此你在调试状态的错误可能还没有被buil…
[/Quote]
yushuiyouyue 2009-03-19
  • 打赏
  • 举报
回复
对AJAX有兴趣的朋友,欢迎加入群78514534
对ASP.NET和C#有兴趣的朋友,欢迎加入67226009
xiaoleixyz 2009-03-19
  • 打赏
  • 举报
回复
是运行时报错. 调试环境下不能运行正常.
[Quote=引用 1 楼 pgameli 的回复:]

报错了还能发布?
应该是个警告吧
只要能正常运行就不用管它
[/Quote]
zytkotw 2009-03-19
  • 打赏
  • 举报
回复
1. 是什么错误, 编译时还是运行时错误
2. 是js的错误还是cs文件的错误
3. 如果编译不通过是不能通过Publish方式发布的.
4. 发布后重启一下IIS

如果是WebSite 而不是Web Application,并且是将文件copy过来进程发布的. 那么程序运行的时候会进行动态编辑, 在动态编译的过程中, 首次访问会引发Global资源的build, 并且默认情况下会对当前的request所在的文件夹下的内容进行build, 因此你在调试状态的错误可能还没有被build, 也就不会出错.也就是说你出错的位置不在Global的文件上也不在当前的Request对应的文件夹下的文件中. 这样还是需要在vs2005中进行排错.
CutBug 2009-03-19
  • 打赏
  • 举报
回复
把发布的bin下的dll拷贝到网站项目bin目录下试试
pgameli 2009-03-19
  • 打赏
  • 举报
回复

报错了还能发布?
应该是个警告吧
只要能正常运行就不用管它

62,046

社区成员

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

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

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

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