【发布时间】:2023-04-03 12:25:01
【问题描述】:
我使用的是一个名为BCrypt.net的库,作者将Namespace与Class同名,所以Class全路径为:BCrypt.Net.BCrypt,其中BCrypt.Net是Namespace,BCrypt是Class名字。
我正在尝试在我的代码中使用,就像我能找到使用的所有示例一样,例如:
BCrypt.HashPassword("234");
但 Visual Studio 抱怨说:
错误 3 类型或命名空间名称“HashPassword”不存在于 命名空间“BCrypt”(您是否缺少程序集 参考?)
我的项目中有程序集(因为我是从 NuGet 获得的):
如果我在我的命名空间之前添加using BCrypt.Net; 或using BCrypt;,则错误表示相同。
我将它添加到我的命名空间中,发生了一些有趣的事情。我工作,代码编译并执行。但是 Visual Studio 显示错误!我无法理解它是如何编译错误的。
namespace Test.Data
{
using BCrypt.Net; // The 'Net' is marked with a Red Error line in VS2013
....
string s = BCrypt.HashPassword("234");
错误 3 类型名 'Net' 不存在于类型 >'BCrypt.Net.BCrypt'
错误(但编译和执行正常)与using BCrypt = BCrypt.Net.BCrypt; 相同
那么发生了什么?
编辑:
我知道我可以将它用作BCrypt.Net.BCrypt.HashPassword("234");,但我想避免它。
【问题讨论】:
标签: c# .net visual-studio-2013 namespaces