我的解決方案中有兩個項目。一個代表主項目,另一個代表第一個項目的名稱,但在末尾添加“ .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 關注
- 151 瀏覽
添加回答
舉報
0/150
提交
取消