将自定义.dll类库添加到asp.net/C#网站
本文关键字:net 网站 asp 自定义 dll 类库 添加 | 更新日期: 2023-09-27 18:28:34
我在asp.net/C#网站上工作了一段时间,并决定将我的SQL C#代码放入类库(.dll)中。问题是,当我试图在vs2010中将它添加到我的网站应用程序时,它会看到它,但同时不会。我的意思是web应用程序告诉您它是作为引用文件夹下的引用添加的,但当编译代码时,它会说您没有引用。
我添加引用的方法是右键单击解决方案并选择"添加引用"。我浏览参考(.dll文件),然后添加它.
这是错误:
CS0246: The type or namespace name SQL_lib could not be found (are you missing a using directive or an assembly reference?)
我确实添加了dll文件代码在web应用程序中的所有引用,所以它不可能是。。。我真的不知道发生了什么事。提前谢谢你:-)
编辑:
web应用程序唯一显示找不到引用的时间是在编译完成并刚刚执行时。在浏览器中,它显示了上面的错误。当我进入代码时,由于某种原因,我在代码中没有看到带下划线的错误标记,我可以访问引用中的类。我会进一步调查…
此外,它在基于aspx的cs文件和纯cs文件中也有错误。
确保已添加对定义SQL_lib
类的命名空间的引用:
using Namespace_In_Which_You_Declared_The_SQL_libClass;
现在您可以使用SQL_lib
类了。还要确保该类是public
:
public class SQL_lib
{
...
}
我遇到了类似的问题,找到了解决方法。这里的答案对我来说不起作用,但这是我解决问题的方法。
我不得不将文件添加到GAC中。
gacutil.exe /i MyFile.dll
然后你可以得到版本和
gacutil /l MyFile
全局程序集缓存包含以下程序集:
MyFile,版本=6.8.0.6,区域性=中性,PublicKeyToken=99ttt95b5a5d634b,处理器体系结构=MSIL
然后,您获取值并将其复制到aspx页面的顶部以进行注册,然后包含。
为您的命名空间添加一个using
,如下所示:
using YourNamespaceForSQL_Lib;
或者完全限定代码中的对象名称,如下所示:
YourNamespaceForSQL_Lib.YourClass = new YourNamespaceForSQL_Lib.YourClass();
注意:如果您正确添加了引用,并且类名带下划线,那么您可以单击类名并按Ctrl + .
,它将自动在代码文件中添加正确的using
命名空间条目。VisualStudio将反映References
中的所有DLL,并提供多个命名空间选择(如果存在)。
在Visual studio中右键单击代码窗口中导致错误的方法或类,然后单击"resolve",这将建议您添加using引用。