【问题标题】:Problem with error messages in solution解决方案中的错误消息问题
【发布时间】:2011-04-29 12:29:11
【问题描述】:

我有一个包含大约 10 个项目的解决方案,我自己还没有编写任何内容,但我将在这里接手一个项目。作为主要项目的项目基于 WPF。当我尝试运行这个项目时,我得到以下编译器错误:

The tag 'RoutingManagerView' does not exist in XML namespace 'clr-namespace:RoutingManager.Views;assembly=RoutingManager'. Line 29 Position 14. C:\Source\WSA\WsaClient\Views\MainView.xaml 29 14 WsaClient

然后,如果我双击此错误消息,打开 xaml,并加载设计器,但未加载设计器,我又收到 3 条错误消息:

Unable to load the metadata for assembly 'WsaClient'. This assembly may have been downloaded from the web. See @987654321@. The following error was encountered during load: Could not load file or assembly 'WsaClient' or one of its dependencies. The system cannot find the file specified. C:\Source\WSA\WsaClient\Views\MainView.xaml 1 1 WsaClient

Unable to load the metadata for assembly 'RoutingManager'. This assembly may have been downloaded from the web. See @987654322@. The following error was encountered during load: Could not load file or assembly 'RoutingManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. C:\Steria\Forsvaret\P6088\Source\WSA\WsaClient\Views\MainView.xaml 1 1 WsaClient

The type 'Views:RoutingManagerView' was not found. Verify that you are not missing an assembly reference and that all referenced assemblies have been built. C:\Source\WSA\WsaClient\Views\MainView.xaml 29 14 WsaClient

我用谷歌搜索了它,许多人认为这是因为 DLL 来自互联网,因此被锁定。但是在我的情况下,我没有 DLL。它抱怨作为解决方案一部分的两个项目,WsaManager 和 RoutingManager。我在 USB 笔上的 zip 文件中获取了所有源代码,并且我已将其解压缩到我的 C 盘上的某个位置,因此无法远程访问代码。

如果有人之前遇到过相同或类似的问题,我将非常感谢您在此处提供有关如何解决此问题的任何指示。

编辑

XAML 文件的这一行给出了最后一条错误消息:

<Views:RoutingManagerView DataContext="{Binding Dependency}"/> 

在 XAML 文件的顶部,这是程序集的导入:

xmlns:Views="clr-namespace:RoutingManager.Views;assembly=RoutingManager"

【问题讨论】:

  • 您是否尝试过该链接中提供的解决方案 - go.microsoft.com/fwlink/?LinkId=179545
  • 我不确定我是否明白这个笑话。 “大约 0 个项目”是什么意思?
  • @sehe 和 Cody Gray - 不是开玩笑。现在编辑成10个项目,这也是我写的初衷。
  • Stecya - 是的,我已经确保没有文件被标记为被阻止,所以不幸的是,这不是我的问题。
  • 好吧,这更有意义。我看到原始评论“为大约 0 个项目 +1”已被删除。混乱得到缓解。

标签: c# .net compilation


【解决方案1】:

通过右键单击解决方案并选择“重建解决方案”来解决此问题

【讨论】:

  • 这当然是我尝试的第一件事,但对我的情况没有帮助。只有从依赖最少的项目中手动构建每个项目才能正常工作。
【解决方案2】:

对其他读者的补充一点:如果您的项目构建成功,但您在尝试在设计器中加载视图时收到此错误消息,请确保您的程序集是 x86 或任何 CPU,因为 Visual Studio 2010 是 32 位进程并且无法在设计器中加载 x64 程序集。

【讨论】:

  • 在发布多个问题的复制和粘贴样板/逐字答案时要小心,这些往往会被社区标记为“垃圾邮件”。如果您这样做,则通常意味着问题是重复的,因此请将它们标记为:stackoverflow.com/a/12332340/419
  • 感谢 Franc,我发现您的评论确实很有用。我有一个要转换为 x64 的项目,并且要创建一个 x64 安装程序。我这样做了,但随后客户要求我对项目的 WPF UI 部分进行一些更改。我确实尝试了所有方法,包括“AllowLoadFromRemoteSources”Visual Studio 配置以解除程序集的阻塞,但似乎没有任何帮助。最后我看到了你的评论,当我改回 x86 配置时,Xaml 无缝加载!微软非常需要处理 VS 提供给开发人员的错误消息!
【解决方案3】:

为了解决这个问题,我不得不一个一个地编译项目,从不依赖其他项目的项目开始,然后“向上”工作。

似乎 Build all 无法自动正确执行此操作。

【讨论】:

    【解决方案4】:

    试试这个,这是唯一对我有用的建议:

    无法加载程序集“”的元数据。这个程序集可能是从网上下载的。请参阅http://go.microsoft.com/fwlink/?LinkId=179545。加载过程中遇到以下错误:无法加载文件或程序集“”或其依赖项之一。不支持操作。 (HRESULT 异常:0x80131515)

    在 WPF 项目中,要允许项目从远程源加载,我们必须在配置文件 devenv.exe.config 中启用它。

    第 1 步:在您的系统中搜索配置文件 devenv.exe.config。通常它位于

    C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config
    

    第 2 步:编辑配置文件。在标签中添加以下行

    <loadFromRemoteSources enabled="true" />
    

    第 3 步:重新启动您的 Visual Studio。

    http://exacthelp.blogspot.cz/2012/02/unable-to-load-metadata-for-assembly.html

    【讨论】:

    • 需要注意的是必须放在标签里面。
    【解决方案5】:

    无法加载程序集“WsaClient”的元数据。本次大会 可能是从网上下载的。看 http://go.microsoft.com/fwlink/?LinkId=179545。以下错误是 加载过程中遇到:无法加载文件或程序集“WsaClient” 或其依赖项之一。该系统找不到指定的文件。 C:\Source\WSA\WsaClient\Views\MainView.xaml 1 1 WsaClient

    我遇到了同样的错误:我可以构建和运行我的项目,但我不能设计 XAML。我意识到这是本地配置问题,因为它无法在我的另一台机器上复制(使用相同的存储库修订版)。

    我开始深入挖掘,发现 VS 2010 不喜欢路径中的 # 符号。所以当我有我的来源时会出现错误

    C:\#projects\<my project>
    

    在我把它们移到之后

    C:\projects\<my project>
    

    问题消失了。

    我希望这对其他人有所帮助。

    【讨论】:

      【解决方案6】:

      我怀疑..

      The tag 'RoutingManagerView' does not exist in XML namespace 'clr-namespace:RoutingManager.Views;assembly=RoutingManager'. Line 29 Position 14. C:\Source\WSA\WsaClient\Views\MainView.xaml 29 14 WsaClient
      

      .. 错误导致一系列其他错误。看起来您正试图从程序集 RoutingManager 中的命名空间 RoutingManager.Views 创建一个 RoutingManagerView。但是,它不存在。确保课程对外界可见。或者尝试清理并重建解决方案,然后查看第一个错误发生在哪个项目上。因为如果项目是相互依赖的,一个项目中的错误可能会导致其他项目的引用错误。

      【讨论】:

      • LueTm - 所有必需的类都在那里。看来这是一个编译问题,代码没有问题。有关详细信息,请参阅我在此处添加的答案。
      猜你喜欢
      • 1970-01-01
      • 2019-11-16
      • 2019-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-22
      • 2013-10-23
      • 1970-01-01
      相关资源
      最近更新 更多