如何解决命名空间冲突?

Pio*_*ula 0 .net c# namespaces

在创建测试类时,我在我的项目中遇到了命名空间的奇怪问题。

所以我有一个我制作的 nuget 包,它的命名空间是

ppumkin.APIService

然后我创建了另一个测试解决方案,该解决方案的命名空间是

tests.ppumkin.ControllersAPI

问题是我正在尝试访问我的 nuget 包 dll 对象,但 Visual Studio 告诉我,that对象不存在,tests.APIService但我编写的代码是

var obj = new ppumkin.APIService.TheClass()

如何告诉 Visual Studio 该对象不在tests.ppumkin.APIService但只是在ppumkin.APIService (例如 - 没有前缀测试命名空间)

如果我在测试项目中定义的所有命名空间之外使用相同的对象创建,我可以克服这个问题。

Dam*_*ver 6

您还可以使用global::来指示您正在使用从全局根开始的命名空间名称,而不是某些包含的命名空间:

var obj = new global::ppumkin.APIService.TheClass()
Run Code Online (Sandbox Code Playgroud)

尽管我同意重命名命名空间可能是一个更明智的长期举措。