我已经在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?)
我确实在web应用程序中添加了dll文件代码所具有的所有引用,所以它不可能......我真的不知道发生了什么。提前谢谢: - )
编辑:
Web应用程序显示无法找到引用的唯一时间是编译完成并刚刚执行。在浏览器中显示上面的错误。当我进入代码时,由于某种原因我在代码中看不到带下划线的错误标记,我可以访问引用中的类。我会进一步研究它......
它在基于aspx的cs文件和普通cs文件中也有错误。
答案 0 :(得分:3)
确保添加了对定义SQL_lib
类的命名空间的引用:
using Namespace_In_Which_You_Declared_The_SQL_libClass;
现在您可以使用SQL_lib
类。另外,请确保此课程为public
:
public class SQL_lib
{
...
}
答案 1 :(得分:1)
为您的命名空间添加using
,如下所示:
using YourNamespaceForSQL_Lib;
或完全限定代码中的对象名称,如下所示:
YourNamespaceForSQL_Lib.YourClass = new YourNamespaceForSQL_Lib.YourClass();
注意:如果您已正确添加引用并且您有一个带有下划线的类名,那么您可以单击类名并按Ctrl + .
,它将自动添加正确的using
命名空间在您的代码文件中输入。 Visual Studio将反映您References
中的所有DLL,并提供多个命名空间选项(如果存在)。
答案 2 :(得分:1)
在Visual Studio中右键单击导致代码窗口中出错的方法或类,然后单击“解析”,这将建议为您添加使用引用。
答案 3 :(得分:1)
我在遇到类似的问题时遇到了困难,并找到了我的方式。这里的答案对我不起作用,但这就是我为解决它而做的。
我必须将文件添加到GAC。
gacutil.exe /i MyFile.dll
然后你可以得到版本和
gacutil /l MyFile
全局程序集缓存包含以下程序集:
MyFile,Version = 6.8.0.6,Culture = neutral,PublicKeyToken = 99ttt95b5a5 d634b,processorArchitecture = MSIL
然后取出值并将它们复制到aspx页面的顶部进行注册,然后包含。