【问题标题】:Dependencies of dependencies not being copied to the output directory未将依赖项的依赖项复制到输出目录
【发布时间】:2010-10-30 00:45:44
【问题描述】:

我在 MSDN 论坛上发布了这个问题,但没有得到太多答案,所以决定在这里尝试一下。

当第一个库主要是 xaml 时,我遇到了一个项目的依赖库没有被复制到引用它的第二个项目的输出目录的问题。这是发生这种情况的典型场景

解决方案X
- SomeControls.Dll { 包含 wpf 用户控件 }
外部参考:WPFTheme.dll*
- MainApp.Exe
项目参考:SomeControls.dll

这里发生的通常情况是,在构建解决方案时,WPFTheme.dll 没有复制到 MainApp.Exe 项目的输出目录中。 (* 这也适用于引用第三个项目而不是外部项目)

我通常使用构建后事件来处理这种情况......但我发现问题是间歇性的。

如果我没有在我的 c# 代码中引用 WPFTheme.dll 中的任何类,但我在 xaml 中这样做了,那么如前所述,不会复制 WPFTheme.dll 库。

但是,如果我从项目中的某些 c#(甚至后端 xaml.cs 类)中引用任何类(甚至只是将它们分配为 null) - 那么一切都会按预期工作。

那么有没有其他人遇到过这个问题?如果被 xaml 引用,有没有办法强制复制库?

只是为了添加更多信息...所有这些都发生在在项目文件中显示为外部且在 HintPath 中具有相对路径的库。

谢谢大家,

K

【问题讨论】:

  • 由于我是新用户,我无法发布指向原始 MSDN 线程的链接。我发布了一个关于如何重现该问题的分步示例。在 Visual Studio->Visual Studio WPF Designer 论坛中标题为“Project external references and dependencies”

标签: wpf visual-studio visual-studio-2008


【解决方案1】:

我在通过反射进行依赖注入时遇到了同样的问题,我通过构建后事件和部署 nant 脚本解决了这个问题,抱歉,我无法提供更多帮助,期待看到解决方案,你总是可以添加 refs直接到启动项目,从长远来看可能会遇到一些有趣的问题,但它会起作用

【讨论】:

  • 这是绝对正确的,通过直接引用启动项目来处理问题,您会遇到一些有趣的(不是!)问题。后期构建工作,并且已经在做除了解决这个问题之外的其他事情。但让我感到困惑的是,如果您在代码中引用它,那么一切正常——这意味着它适用于某些库,但不适用于其他库!
猜你喜欢
  • 2022-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多