我似乎无法弄清楚我在这里做错了什么。我将我的网站发布到我的服务器,当我尝试运行它时,我得到以下异常:
无法加载程序集“App_Web_kh7-x3ka”。确保在访问页面之前编译它。
有没有其他人遇到过这个?
答案 0 :(得分:31)
当您使用预编译的aspx页面并将其编辑为未编译时,例如从Live服务器复制并覆盖您的开发/工作版本时,也会发生这种情况。
在<%@Page />
标记内的aspx页面的第一行,您可能会看到如下属性:
inherits="yourPageClass, App_Web_kh7-x3ka"
。
删除“App_Web_XXXX
”部分并添加指向代码隐藏文件后面的CodeFile属性:
CodeFile="yourPageFile.aspx.cs"
<%@Page />
标记现在看起来应该与从头开始创建新页面时类似。
当您的Asp.Net页面被预编译以便发布到生产服务器时,对后面代码的引用将替换为对具有App_Web_XXXX
名称的已编译DLL的引用。
答案 1 :(得分:1)
快速谷歌“确保在访问页面之前编译它。”
带我到以下
问题可能与描述应用程序池/网站未设置为正确的.NET版本
有关以下问题作为最后一个回复有另一个解决方案 http://forums.asp.net/t/1131537.aspx
从查找它看起来你的网络服务器没有正确配置,或者你正在引用一个不存在的/旧的dll
答案 2 :(得分:0)
我们最近在一个预编译站点实现了此问题。事实证明,我们服务器的防病毒软件正在静默隔离其中一个已编译的DLL文件。 (显然我的代码类似于更新劫持者......迷人)
这个问题稍微偏离了原因,但希望将来可以帮助其他人。
答案 3 :(得分:0)
如果您正在使用BitBucket源树(例如使用Azure),默认情况下,Soruce Tree不会上传.DLL文件。 你需要去 - &gt;源树&gt;工具&gt;选项&gt; Git&gt;全局忽略列表[编辑文件] 删除* .Dll行并保存文件。
重建你的项目(你不需要),提交代码,推送代码!
您的网站应该开始工作......