1

我在 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 文件中也存在错误。

4

4 回答 4

3

确保您已添加对定义类的命名空间的引用SQL_lib

using Namespace_In_Which_You_Declared_The_SQL_libClass;

现在你可以使用这个SQL_lib类了。还要确保这个类是public

public class SQL_lib
{
    ...
}
于 2013-08-21T17:26:21.990 回答
1

为您的命名空间添加一个using,如下所示:

using YourNamespaceForSQL_Lib;

或完全限定代码中的对象名称,如下所示:

YourNamespaceForSQL_Lib.YourClass = new YourNamespaceForSQL_Lib.YourClass();

注意:如果你已经正确添加了引用并且你有一个下划线的类名,那么你可以点击类名并按下Ctrl + .它会自动using在你的代码文件中添加正确的命名空间条目。Visual Studio 将反映在您的所有 DLL 中,References并提供多个命名空间选择(如果存在)。

于 2013-08-21T17:29:41.983 回答
1

在 Visual Studio 中右键单击代码窗口中导致错误的方法或类,然后单击“解决”,这将建议为您添加使用参考。

于 2013-08-21T17:30:45.247 回答
1

我在类似的问题上苦苦挣扎,并在这里找到了自己的方式。这里的答案对我不起作用,但这是我为解决它所做的。

我不得不将文件添加到 GAC。

gacutil.exe /i MyFile.dll

然后你可以得到版本和

gacutil /l MyFile

全局程序集缓存包含以下程序集:

MyFile,版本=6.8.0.6,文化=中性,PublicKeyToken=99ttt95b5a5 d634b,处理器架构=MSIL

然后您将这些值复制到您的 aspx 页面顶部以注册,然后包含。

于 2014-05-05T20:02:27.303 回答