[英]VS 2015 Shared Project causes Type exists in both X assembly and Y assembly (CS0433)
我正在嘗試為每個項目實現一個公共屬性類型和對應的枚舉類型,以將其包含在AssemblyInfo.cs中,以用作元數據。 解決方案中的所有項目都需要該屬性。
我創建了一個Visual Studio 2015共享項目,並包含了這些類型。
隨后,我在一些基本級別的程序集中引用了共享項目,這些程序沒有相互依賴性。 但是,如果在較大的項目中包含兩個或多個這些程序集作為引用,則會收到“ X程序集和Y程序集都存在類型”(CS0433)
我是否錯誤地實施了共享項目? 這是解決指定任務的不好方法嗎?
當您在頂部有兩個using
語句,其中包含具有相同名稱的類時,就會發生這種情況。 有兩種可能的方法來解決此問題。
using
引用刪除一個(或兩個),並長期輸入類名和類型。 例:
//using System.Data.SqlClient;
//using System.Data.OleDbClient;
var p1 = new System.Data.SqlClient.Parameter();
var p2 = new System.Data.OleDbClient.Parameter();
要么
using
引用。 您仍然必須限定類名,但是您可以使用別名而不是完整的全稱。 例:
using Db1 = System.Data.SqlClient;
using Db2 = System.Data.OleDbClient;
var p1 = new Db1.Parameter();
var p2 = new Db2.Parameter();
我似乎偶然發現了一個答案。 我在自己的名稱空間下聲明了共享項目類型。
當我從代碼中刪除名稱空間塊時,代碼已正確編譯。
我不確定這是否是對該問題的合法解決方案,但這似乎使編譯器感到滿意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.