做了一个小网站
开发的过程中动不动就产生一点未能加载文件或程序集“App_Web_8v-jyrqe, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。 这种错误
这时清理一下解决方案,重新编译一下,还行
现在网站已经发布了传到网上去了,前一秒访问还是正常的,后一秒就是未能加载文件或程序集“App_Web_8j-jyrqe, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。 类似于这种错误存在了,同一URL,同一台机器放问,一秒之差.大家有没有碰到这种,几百万的广告打出去了,老板知道了要杀人的
BIN目录我没动过,但是手工查找这个App_Web_8j-jyrqe.Dll是没有,但是一秒钟之前它绝对是有的,也没有装杀毒软件,索引服务我已经关掉了
why ?????

解决方案 »

  1.   

    你把引用的dll拷贝到bin目录下就可以了。
      

  2.   

    如果是要经常需要更新dll的话,建议使用vs2005 sp1中的web application方式开发,这样整个网站会编译成一个dll,而且名字是由你来指定的。
      

  3.   

    没有遇到过,但是在开发中有2个BUG问题
    1是母模版的BUG,偶尔会加载报错
    2是NET工具本身的BUG,如果调试频繁,会出现未能加载程序集的错误,等待一会就好了
      

  4.   

    我主要是不确定是什么问题
    每次上传前我都有在本地测试一下再传到服务器上再测试一下,
    这个错误是查询页出现的
    我保证绝对是测过的
    就是用vs2005 发布的,这一步是没问题
    也就是编译是正确的。主要问题还是传到服务器上后,刚开始这个文件是有的  App_Web_8j-jyrqe.dll
    为何突然消失,让人不明所以.
      

  5.   

    请安装 Visual Studio 2005 Web Deployment Projects或者安装vs2005 sp1将所有的文件编译成一个单独的dll。注意做之前请备份好源代码
    http://blog.csdn.net/net_lover/archive/2006/10/02/1317315.aspx
      

  6.   

    楼主,你是不是每次编译一遍,发布的时候只是默认的选项生成DLL,2005这个时候每个页面的DLL 每次都是随机的。你要上传到服务器,必须所有页面文件和DLL一起上传。如果不是就会出现你那样的错误,这个和2003有所不同。
    解决方法一:发布时选上第二个,每个页面有固定的程序集。以后上传,只要上传改动过的文件就可以了。
    方法二:打sp1包,整站程序生成一个dll,这个和2003是一样的方式。
    希望能帮到你。说错的地方,请大家改正。
      

  7.   

    可以参考:xiang_li5257(安静跳舞的木偶。神奇的木偶,会写程序。)
    建议打SP1生成一个DLL
    还有如果是引用的外部DLL一定要放在BIN/下
      

  8.   

    首先确认下你的.NET程序是不是原来1.1,后来改用2.0开发。现在的程序是混合的,如果是这样出现问题不足奇。1.1和2.0很多地方不兼容,有人说你混合使用会死得很惨.你用的那个控件有内有BUG呢?如果是使用有BUG的DLL也可能会出错再就是检查你的代码了如果你是按部就班开始就是用.NET2.0开发的,我觉的不会出现这样的问题呀
      

  9.   

    如果你仅传递部分文件到服务器,记得把web.config重新传递(覆盖)一次。当然这就是让应用程序重新启动。当然也可以把web服务重新停掉,然后启动。
      

  10.   

    如果你开发调试中出现这个问题,那么好像比较严重。我的项目是网站、多站点webSerice混合的,一个解决方案中有4个站点和好多几类库工程,修改任何一部分,直接按“运行F5”也就运行了,从来没有出过这种问题。你可以把你各个项目中的引用的其它工程和dll重新删除了再引用一遍。
      

  11.   

    哦,如果你开发时使用iis,我就不确定了。我要求所有人的开发机器都不安装iis,只有测试和生产服务器上才装。如果你找不出解决,那么应该借助“业务”的启示来解决技术问题,不要在技术上钻牛角尖。
      

  12.   

    juedaihuaihuai(绝代坏坏(beyond myself)) ( ) 信誉:95    Blog   加为好友  2007-4-18 20:15:06  得分: 0  
     
       
    遇到过这种情况,主要是编译的时候,没有从起始页开始。
    -------------------------------------------------------还有这一说,我新建个项目第一步就是设置生成那个Default.aspx为起始页,怪不得碰不上这种问题。  
     
      

  13.   

    这和 asp.net2.0 有什么关系?
      

  14.   

    把C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files下面对应网站的资料删除掉就行了
      

  15.   

    依我看是发布的问题!
    你肯定不是发布成一个DLL。
    参考发布成一个DLL
    http://www.cnblogs.com/anson/archive/2006/06/12/424226.html
      

  16.   

    如果要发布asp.net web site,必须每次把dll和页面全部发布上去
    发布以后服务器最好重启一下
    或者用上面的方法,打sp1,发布一个dll
      

  17.   

    1.我使用的是Vs2005的发布方式,发布之后在一台机器上测试后上传,这个功能页面的确是没问题,但是运行一段时间后就有问题2.多次调试之后的确会产生编译的DLL与实际代码作用不相符的Bug,这点大家都是承认的
    但是.编译,发布是没有问题的,现在的问题是运行一段时间后会出现DLL丢失.
    上面说的仅有请安装 Visual Studio 2005 Web Deployment Projects或者安装vs2005 sp1将所有的文件编译成一个单独的dll。注意做之前请备份好源代码这种方式治标.但不能治本.为何我的DLL会何在运行一段时间丢失?
      

  18.   

    有什么信息提供的不详细,大家可以问我lizhizhe2000(武安侯) ( ) 信誉:100    Blog   加为好友  2007-4-18 20:17:49  得分: 0  
       
    信息不全,不能判断!
    如这种情况,我不知道你打出来有什么意思。要什么信息可以说,我开贴也是为了解决问题  
     
      

  19.   

    这和 asp.net2.0 有什么关系?
    1.1 我做的项目 没5、6个也有7、8大大小小的都有,这种问题,没有遇到过的
    2.0 的我这个项目是第一个.刚好开发过程中就不知道是vs2005还是vss就有把整个项目目录一起删掉的现像,我到现在一直都认为我是误操作.这次服务器上又无故丢失 DLL,让人很郁闷,为何偏偏丢失一个呢?
      

  20.   

    还是安装sp1好,我帽着风险,刚刚装上了sp1,花了两个小时的时间,再C盘里面删除了n多文件。不过要用vs2005的话,还是要打上sp1,然后建立网站项目,能够打包成一个DLL的好。
      

  21.   

    新人,现在在学ASP.NET框架下用C#,但是好多不懂,晕哦
      

  22.   

    在web.config中添加这个
    <compilation debug="false" batch="false" />这是微软的Bug,我也遇到过,可以参考这里:
    http://support.microsoft.com/default.aspx/kb/934839
    http://weblogs.asp.net/scottgu/archive/2007/04/11/public-hotfix-patch-available-for-asp-net-compilation-issues.aspx
    微软还提供了一个未经测试的补丁
    https://connect.microsoft.com/VisualStudio/content/content.aspx?ContentID=3705
      

  23.   

    这和LZ你生成的BIN文件夹里的DLL文件有关的...很有可能就是LZ只更新了BIN 文件夹里的文件,而没有更新页面文件..LZ细心的话可以看到.. 每个页面文件都会在PAGE指令中有这么一行代码"inherits="relay_RelayDetailQuery, App_Web__ajbzjpw"   "="号里面的,就是这个页面引用到BIN文件夹里的DLL.因为每回生成的BIN文件夹里面的DLL文件名不是固定的.而是动态生成的.如果你不把页面文件和BIN文件同步更新,,就会发生类似现在你的这种情况..还有一种办法就是有一个在MSDN上下载一个类似补丁的文件..安装好后.可以把DLL生成由你来命名的DLL文件.. (具体忘了..网上搜搜就能找到的)当然,我不能百分百肯定LZ就是出现的是我说的情况, 祝LZ好运吧..   办法总会比困难要多.. 别太急咯..  总会有像暮白,孟子的大侠出现帮你的.. 呵呵.
      

  24.   

    要发布asp.net web site,必须每次把dll和页面全部发布上去
    发布以后服务器最好重启一下,可以测试一下!
      

  25.   

    状态
    Microsoft 已确认这是 " 适用于 " 一节中列出 Microsoft 产品中存在问题。
    回到顶端更多信息
    有关详细信息, 请单击下列文章编号以查看 Microsoft 知识库中相应: 
    824684 (http://support.microsoft.com/kb/824684/) 是, 用于描述 Microsoft 软件更新标准术语描述 
    回到顶端
    --------------------------------------------------------------------------------这篇文章中的信息适用于:
    &#8226; Microsoft ASP.NET 2.0 
    &#8226; Microsoft .NET Framework 2.0 谁说这和asp.net不相干,我和谁急
      

  26.   

    如果要发布asp.net web site,必须每次把dll和页面全部发布上去
    发布以后服务器最好重启一下
    或者用上面的方法,打sp1,发布一个dll
      

  27.   

    应该是程序代码有问题,编不编译成一个dll(类似于VS2003,在VS2005下面用 Web Deployment)都是有问题的。我曾经出现过编译成一个dll,不好使的情况,因为那个dll太大(4M多,项目比较大),发布以后出现一些不知名的错误。最后只好分成多个文件发布。你报的是这个文件App_Web_8j-jyrqe.Dll出错,估计是你的app_code下面的类文件有点问题。这种问题只能查代码。我碰到过,你比较发布两个版本间修改了哪些地方。我这个方法虽然好象没有说什么,但是确实有效果,只能查代码。我原来出现这种问题的时候猜想是因为某些写法跟微软的规范冲突。反正获一下前面的版本就好使了。
      

  28.   

    to Marguessapp_code下面的类我敢确认没有动,因为大多数都是一些配置类或是基类我也曾碰到过发布失败的时候,原因是从其它地方移过来的目录不一样,和你一样修改一下代码就好了但这次是发布成功以前,从晚上9点运行到第二天下午18点左右,突然发现这个问题,老实说写程序和搞维护的是我一人,没人上去动它,我更是没动它。我也是很奇怪这个问题,让我每天心惊胆颤..如果上面微软说的没错,是个bug,
    解决方法有二
    1.打一个未经测试的补丁
    2.改配置文件尽可能少的减少发生次数
      

  29.   

    不论删除C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\下的文件,还是修改web.config中的那个参数,都是促使应用程序被停止的手段。只要更新web.config,例如更新它的最后访问时间,这个应用程序就被停止了。那个临时目录下原有的文件不用删除,特别是服务器上有多个站点时更不可能允许删除。当应用程序访问页面时,会自动编译产生新的dll。你还可以在自己的服务器上随便折腾都这么多事,那么很多人租的国外服务器岂不累死。别人只要简单点去处理,反而没有这么多问题。你自己体会意思吧。
      

  30.   

    另外,上传新的网站程序可以先把远程网站中的web.config文件删除,或者先上传app_offline.htm文件(整站传完后再删除)。
      

  31.   

    和你遇到的问题一样:http://community.csdn.net/Expert/topic/5451/5451152.xml?temp=.6400263
      

  32.   

    那个数值并不是停止的意思,
    是增加预编译的时间间隔,减少这种错误发生的机会而删除temp文件是直接再次生成缓存.这是二码事
    DLL是我生成好的,理论上是按我的这个dll来行事,事实上,它是缓存在temp文件中,以缓存中的文件为准,不知道我的理解对不对