gpt4 book ai didi

c# - 在程序集中找不到 MS.Internal.Media 命名空间

转载 作者:太空宇宙 更新时间:2023-11-03 14:29:01 24 4
gpt4 key购买 nike

我一直在开发 WPF 应用程序。由于我在 Expression Blend 4 中设计 UI 并在 Visual Studio 2010 中处理代码隐藏部分,所以我经常从一种工具切换到另一种工具。

我向现有的 Grid 添加了一些图像控件,并为它们分配了一些图像。在 Blend 中,我构建了项目并运行了它。工作得很好。当我切换到 Visual Studio 时,出现此错误:

Undefined CLR namespace. The 'clr-namespace' URI refers to a namespace 'MS.Internal.Media' that is not included in the assembly. C:\Users\Dennis\Documents\Visual Studio 2010\Projects\solutionName\projectName\MainWindow.xaml

设计器无法加载此错误挂起。然而,该项目在 Blend 中运行,我可以在那里看到它很好。

声明如下(在窗口中):

<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:MS_Internal_Media="clr-namespace:MS.Internal.Media;assembly=PresentationCore" mc:Ignorable="d" x:Class="projectName.MainWindow"
Height="272" Width="359" Loaded="Window_Loaded" WindowStyle="ThreeDBorderWindow" ResizeMode="NoResize" Icon="/projectName;component/Images/main.ico"
Title="Sample Project">

什么可能导致此错误?

最佳答案

这似乎是 Visual Studio 中的一个已知问题(也许 bug 这个词太强了,如果它是一个设置或我也遗漏的东西,那么很高兴在这个问题上得到纠正,无论如何......)在 Visual Studio 中- 它也在 VS2010 中发生。

如果您在 XAML 中删除字符串“clr-namespace:”,则只剩下

xmlns:MS_Internal_Media="MS.Internal.Media;assembly=PresentationCore"

它可以正常编译,您可以重新加载设计器。如果您随后再次添加 clr-namespace 语法,它将构建正常,但设计器仍然会出错。我相信这一定是 Visual Studio 本身的问题。

希望此解决方法至少可以帮助您加载设计器并构建项目。

经过更多研究,我认为问题可能出在该程序集没有公共(public)类型这一事实。查看 .Net Reflector 中的程序集,它们都是内部类。对于没有公共(public)类型的所有程序集,都会抛出您在 VS 中遇到的相同错误。我希望 Blends 界面要么不检查这个,要么处理得更好。

关于c# - 在程序集中找不到 MS.Internal.Media 命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3096802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com