我的解决方案中有两个项目。一个代表主项目,另一个代表第一个项目的名称,但在末尾添加“ .API”,充当接口的程序集。由于我将接口用于特定的类,因此我访问该接口而不是实际的具体类,所以当我要从主程序集中访问主程序集中的文件中的文件时,这会带来问题,这是因为我需要在接口文件中提及它。否则,将无法访问它,因为在此示例中,接口文件是我们的类。这是一个代码示例...namespace App.Classes{ public class User : IUser { public SomeType SomeType { get; set; } }}namespace App.Classes{ public enum SomeType { SpecialType, GoldType, SilverType, Other }}namespace App.API{ public interface IUser { public SomeType SomeType { get; set; } }}我收到的错误是the type or namespace name 'SomeType' could not be found。尝试添加 using App到接口文件时,我收到一条错误消息,告诉我命名空间不存在。主程序集名称:AppAPI程序集名称:App.API
1 回答
千万里不及你
TA贡献1784条经验 获得超9个赞
如果我正确理解你,
您App.API已从主应用程序(App)引用了API ()。
然后,您尝试SomeType在实际位于()中的API中调用/引用App。
基本上,如果可以的话,这称为的循环引用。净不允许。
此外
找不到类型或名称空间名称“ SomeType”
此错误是完全适当的,因为该项目没有对的引用(甚至检查您的API项目)。我知道它不存在,因为它无法完成,.Net不会让您。Ergo通函参考App.APIApp
你需要作出共同的东西,共同的,即如果你的API需要了解 SomeType它必须被放置在您的API组件(或者更常见的组件都App和App.API可以参考)。
简单的解决方案是SomeType放回App.API项目(而不仅仅是名称空间)中
namespace App.API.Enums
{
public enum SomeType
{
SpecialType,
GoldType,
SilverType,
Other
}
}
或创建第三个程序集并从App和App.Api项目中引用它
- 1 回答
- 0 关注
- 132 浏览
添加回答
举报
0/150
提交
取消