簡體   English   中英

“clr-namespace”URI指的是未包含在程序集中的命名空間

[英]The 'clr-namespace' URI refers to a namespace that is not included in the assembly

我試圖在我的XAML中包含一些轉換值的類。 但是,我編譯時遇到以下錯誤:

未定義的CLR命名空間。 'clr-namespace'URI是指未包含在程序集中的名稱空間“View.Summary.Converters”。(View \\ View)

而XAML的錯誤在於:

xmlns:c="clr-namespace:View.Summary.Converters"

另外,這是我的轉換類/命名空間的大綱:

namespace View.Summary.Converters
{
    class CollapsedIfNegative : IValueConverter { }

    class VisibleIfNegative : IValueConverter { }

    class ErrorCodeToString : IValueConverter { }
}

我不得不刪除代碼的內容,因為我正在處理的項目是高度機密的。

重建解決方案,錯誤將消失。

我剛剛通過將目標從x64更改為x86來解決這個問題。 顯然Visual Studio是32位進程,它無法加載64位程序集,如果你的程序集是針對x64平台而你添加了一些自定義控件,則visual studio無法加載它並拋出此消息。

我弄清楚出了什么問題。 雖然visual studio將此視為第一個錯誤,但我的編碼確實存在其他錯誤,這些錯誤阻止了轉換器的組裝。 因此,當VS去尋找裝配時,它就不存在了。

如果引用外部項目,則必須指定項目引用中顯示的程序集:

xmlns:mdls="clr-namespace:MyProject.Models;assembly=MyProject.Models"

vs2008設計師的一些問題

做這個:

  1. 關閉設計師
  2. rebuild-all(Alt + B + R)解決方案

現在不會有任何錯誤。

我能夠重現你的問題:

我在.NET Framework 4.0中創建了一個簡單的WF。 重命名了xaml文件。 作為重命名xaml文件的一部分,您必須在WorkflowInvoker對象上調用Invoke時手動重命名工作流運行時名稱。 我建立了這個項目。 我收到錯誤“'clr-namespace'URI指的是程序集中未包含的命名空間'System'。”

我是如何修理它的:

我打開項目屬性頁面。 出於某種原因,目標框架從.NET framework 4.0切換到4.0客戶端版本。 所以,我選擇了.NET 4.0並重建了該項目。 錯誤不再存在了。

檢查您的構建配置是否已在當前(活動)構建配置中選擇了用於構建的項目。

我在擺弄Build架構(從x86到x64)之后遇到了這個問題,主要的wpf項目已被取消選中。

我在C#WPF項目中遇到過這個問題。 當您在項目期間使用任何類型的錯誤關閉項目時,甚至在XAML中的相關命名空間中,似乎都會生成它。

解決方法是修復所有.CS文件(或排除有問題的XAML / CS文件)以獲得正在運行的版本重建並運行。

我花了將近3個小時才發現設計師似乎正在運行的Debug版本必定是錯誤的。 這就是為什么在很多情況下人們使用Rebuild項目解決了這個問題,但是如果你在項目中存在代碼錯誤,那么問題將無法自行解決,因為Rebuild無法完成並且不會替換設計器支持的版本。

希望這有幫助!

Visual Studio保持還原為奇數程序集文件路徑。 只需刪除它所引用的實際參考文件,然后將其添加到項目中

我有同樣的錯誤。 但顯然,這只是因為我試圖建立的解決方案的路徑。 我的路徑/目錄/文件夾名稱包含一些空格。

暫無
暫無

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

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