VS2019发布.Net Framework网站遇BC30506错误求助
解决ASP.NET Web Site发布时BC30506错误的方案
错误根源
你遇到的BC30506错误核心原因是后台事件的Handles绑定目标与前台按钮ID不匹配:
- 前台按钮ID是
btnSearch - 后台代码里
Handles Search.Click绑定的是名为Search的控件,而非btnSearch
旧版本VS的编译规则可能更宽松,允许这种不匹配的情况通过,但Visual Studio 2019的编译检查更严格,所以现在触发了错误。
具体解决步骤
修正后台事件的Handles绑定:
将后台代码中的Handles Search.Click改为Handles btnSearch.Click,修改后的代码如下:Protected Sub btnSearch_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnSearch.Click清理并重新生成项目(若修正后仍报错):
- 点击Visual Studio菜单的「生成」→「清理解决方案」
- 手动删除项目目录下的
bin和obj文件夹 - 重新生成项目后再尝试发布
确认项目类型的额外处理(可选):
如果你确认是Web Application项目(而非Web Site),需要检查对应的Designer文件,确保存在以下声明:Protected WithEvents btnSearch As System.Web.UI.WebControls.Button若没有,手动添加该声明即可。但根据你描述的「控件未在代码中定义却正常运行多年」,你的项目更可能是Web Site类型,无需手动添加WithEvents声明,VS会自动为
runat="server"的控件生成对应声明。
内容的提问来源于stack exchange,提问作者Colin Plater
相关产品推荐
相关产品推荐

