Asp.net 同一程序集标记为不可用且在代码隐藏中可用

Asp.net 同一程序集标记为不可用且在代码隐藏中可用,asp.net,vb.net,visual-studio-2015,.net-assembly,Asp.net,Vb.net,Visual Studio 2015,.net Assembly,我正在尝试解决ASP.NET代码中的公共属性在ASPX html标记页上被标记为不可访问的问题 var s = <%=foo%> 当我将鼠标悬停在红色下划线的“Gizmo”上时,Visual Studio将显示以下弹出窗口: Class MyAssemblyName.Gizmo MyAssemblyName -- Not Available MyAssemblyName -- Available 当Visual Studio 2015报告同一程序集同时可用和不可用时,

我正在尝试解决ASP.NET代码中的公共属性在ASPX html标记页上被标记为不可访问的问题

var s = <%=foo%>
当我将鼠标悬停在红色下划线的“Gizmo”上时,Visual Studio将显示以下弹出窗口:

Class MyAssemblyName.Gizmo
   MyAssemblyName -- Not Available
   MyAssemblyName -- Available
当Visual Studio 2015报告同一程序集同时可用和不可用时,这意味着什么?什么情况会导致这种情况

VS有一个建议的修复程序:导入MyAssemblyName

如果有帮助的话,这是一个大约2003年的遗留网站,经过几代VisualStudio和IIS多年的“升级”


其类型为类库

程序集版本是否相同?如果同一个程序集在一个地方有一个版本,而在其他地方又有另一个版本,那么它可能会这样做。这肯定会发生在旧的“升级”项目中。我检查了DLL的多个副本。有一个“备份”文件夹的版本较旧。我移动了它,那个特定的错误消失了。谢谢无法访问的属性仍然是个谜。是否将网站项目转换为WebApplication项目?你在一个WebApplication项目中有一个名为APP_CODE的文件夹吗?@Steve:我不确定历史,因为我是在原来的程序员之后很久才进入这个项目的,他们已经不在了。有一个名为App_Code的文件夹,但其中没有任何内容。所有代码隐藏类都应该移到那里吗?不,如果是Web应用程序,您应该删除该APP_code文件夹中的任何内容,并将其删除或重命名。如果查看对象浏览器窗口,是否看到MyAssemblyName的两个名称空间?我遇到这个问题是因为手动转换网站(而不是跟随)会导致双名称空间。程序集版本相同吗?如果同一个程序集在一个地方有一个版本,而在其他地方又有另一个版本,那么它可能会这样做。这肯定会发生在旧的“升级”项目中。我检查了DLL的多个副本。有一个“备份”文件夹的版本较旧。我移动了它,那个特定的错误消失了。谢谢无法访问的属性仍然是个谜。是否将网站项目转换为WebApplication项目?你在一个WebApplication项目中有一个名为APP_CODE的文件夹吗?@Steve:我不确定历史,因为我是在原来的程序员之后很久才进入这个项目的,他们已经不在了。有一个名为App_Code的文件夹,但其中没有任何内容。所有代码隐藏类都应该移到那里吗?不,如果是Web应用程序,您应该删除该APP_code文件夹中的任何内容,并将其删除或重命名。如果查看对象浏览器窗口,是否看到MyAssemblyName的两个名称空间?我有这个问题,因为手动转换网站(而不是跟随)会导致双名称空间。
Class MyAssemblyName.Gizmo
   MyAssemblyName -- Not Available
   MyAssemblyName -- Available