Microsoft.Expression.Drawing.Aero丢失(它是什么?!)

5
我有一个窗口,我在里面创建了一个“callout”。当我尝试使用this.InitializeComponent();创建新窗口时,会出现异常:

显示名称为“Microsoft.Expression.Drawing.Aero”的程序集在具有ID 1的AppDomain的“Load”绑定上下文中加载失败。 失败的原因是:System.IO.FileNotFoundException:找不到文件或程序集“Microsoft.Expression.Drawing.Aero,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其某个依赖项。 系统找不到指定的文件。

这是怎么回事?Microsoft.Expression.Drawing.Aero是什么?

我遇到了同样的问题,并意识到这是项目特定的。我可以开始一个新项目,没有问题。我删除了我的suo文件,但无济于事。 - Justin Pihony
6个回答

2

解决方法可以尝试删除你的.suo文件,然后重新构建整个解决方案。

*.suo文件位于项目根目录中。(如果你无法看到*.suo文件,请确保已配置Windows资源管理器以显示隐藏文件。)


0

如果您在单个解决方案中使用多个项目,则会出现此异常。我将我的项目从解决方案中移除并单独运行它,它就可以工作了。


0

嗯,我不能确定是什么问题,但我对非源文件进行了完全清除,现在它可以正常工作了...所以,这不是suo的问题,但肯定是其他什么原因...


0

我只是猜测。由于在初始化Window时抛出了异常,我认为应用程序正在尝试从您的计算机(我猜是Windows 7)加载Aero主题。请查看是否为窗口定义了任何样式,要求其使用Aero主题,而不管操作系统使用的主题设置如何。


0

在我的情况下,需要完全清除存储库,因此不是缺少某些东西。 - Justin Pihony

0

这是Expression Blend SDK的一部分,意味着项目的某些部分已经通过来自微软的Expression构建 - 据我所知,SDK本身是免费下载的。只需下载并安装它即可解决所描述的情况。


我已经安装了它...但是仍然出现了相同的错误。看起来我需要使用Microsoft.Expression.Drawing.controls而不是aero..但它仍然没有起作用。 - user1032412
@user1032412 你在项目的引用中添加了它吗? - Yahia
@user1032412 然后在项目设置中将其设置为“本地复制”。 - Yahia
复制本地设置为true。我不明白“Microsoft.Expression.Drawing.Aero”是什么,这个Aero是什么?在dll中并没有这样的东西。 - user1032412
.Aero可能已经被添加(假设您在Windows 7上运行)是因为它正在寻找外部主题程序集(即包含用于该操作系统主题的xaml的程序集,这是因为主程序集的ThemeInfo属性设置为非泛型的xaml是外部的,这通常是微软所做的),尽管我感到惊讶这会导致一个未处理的异常。 - AndrewS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接