c# - C#:具有相同命名空间的引用程序集
问题描述
这不是重复的 它不适用于别名
如何引用具有相同命名空间的程序集?
这是 DLL1:
namespace ClassLibrary1
{
public class Class1
{
public void Test()
{
Console.WriteLine("Test 1");
}
}
}
这是引用 DLL1 的 DLL2:
namespace ClassLibrary1
{
public class Class1
{
public void Test()
{
new ClassLibrary1.Class1().Test(); //Should call Test() in DLL1
Console.WriteLine("Test 2");
}
}
}
显然这不会按预期工作。我已经尝试为引用设置不同的别名(DLL2 -> DLL1)。无论我做什么,Visual Studio 似乎都忽略了别名。
它不适用于别名
myAlias::ClassLibrary1.Class1()不工作Visual Studio(编译器)忽略别名。如果我构建并启动我的解决方案,我会得到一个无限循环。
解决方案
您需要在引用类型时明确指定别名,例如new myAlias::ClassLibrary1.Class1()
. 为了方便起见,您还可以使用using
别名来执行类似的操作。using AnotherClass1 = myAlias::ClassLibrary1.Class1;
当然,如果可能的话,您首先要避免出现这个问题。如果您可以控制任一程序集,请选择命名空间和类型名称以避免冲突。
推荐阅读
- keycloak - 无法从 Keycloak 验证令牌
- python - Django REST API login from different auth table
- node.js - How does mongoose connect to a remote database server. Can I implement it with http using some protocols
- angularjs - ng-click with thymleaf expression, what is the correct syntax
- python - Pandas: Read random sample of data using read_json
- c# - Chechbox 类型输入在表单中重复 - Razor Pages
- dependency-injection - TYPO3 10:错误:调用成员函数 findByUid()
- angular - NgXS。store.dispatch() 和 context.dispatch() 之间的区别?
- sql - 如何停止向 sql 中插入重复数据(用于登录查询)
- bash - Bash & Mac OSX:如何将文件分组到 5 个批次的编号文件夹中?