为了账号安全,请及时绑定邮箱和手机立即绑定

无法访问来自单独程序集的文件?

无法访问来自单独程序集的文件?

C#
慕桂英546537 2021-04-06 13:14:50
我的解决方案中有两个项目。一个代表主项目,另一个代表第一个项目的名称,但在末尾添加“ .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项目中引用它


查看完整回答
反对 回复 2021-04-17
  • 1 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信