将自定义.dll类库添加到asp.net/C#网站



我在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引用。

最新更新