簡體   English   中英

使用此類型的外部庫后出現錯誤“該類型在命名空間中不存在”

[英]Error “Type does not exist in the namespace” after using of external library in this type

似乎互聯網上有數十個帖子都出現了此類錯誤。 但我認為我的情況有所不同,我發現的所有解決方案都無濟於事。 我有類型(我刪除了所有不重要的內容,但沒有任何改變):

using ExternalLibrary;
namespace MyProject
{
    public class MyClass
    {
        public ExternalLibrary.ExternalType myVar;
    }
}

我試圖在XAML中訪問此類型,以進一步將其用作數據類型:

<Window x:Class="MyProject.MyWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:MyProject">
    <Window.Resources>
        <local:MyClass x:Key="myKey"/>
    </Window.Resources>
</Window>

並得到錯誤。 如果using ExternalLibrary MyClass using ExternalLibrarymyVar刪除,則所有方法均可用。 在類中使用外部庫-並且類在命名空間中不存在。 刪除庫的使用-並且類再次存在。 我使用VisualStudio 2015,嘗試了VS 2013,但錯誤沒有消失。 我嘗試在調試,發行版,x86,x64,其他框架,客戶端配置文件,名稱空間的不同組合以及許多其他東西中進行重建。 有解決這個問題的辦法嗎? 謝謝。

事實證明,該ExternalLibrary是為AMD64構建的,而使用它的項目則針對任何CPU。 為32位處理器構建項目時,編譯器找不到該類,因此會出現錯誤。 您可以安全地切換到以64位處理器為目標,因為它在其他計算機上也無法正常工作。 要切換目標處理器,請轉到Build-> Configuration Manager-> Platform-> x64

您可能希望根據活動的解決方案平台為每個項目選擇不同的平台組合。 例如,如果您的解決方案針對x86,則項目A針對x86構建,而項目B針對任何CPU,但是,如果解決方案針對x64,則項目A和B均針對x64。 有關更多信息,請參見了解構建配置

如果您正在使用這些設置,則最終可能會得到意想不到的配置,因此查看每個項目的目標目標可能是有意義的(可以在配置管理器中完成)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM