【问题标题】:Dependent project complexity依赖项目的复杂性
【发布时间】:2015-07-23 13:33:31
【问题描述】:

最初我正在开发名为 Proj1 的窗口(表单)项目 1。我在 Proj1 中添加了另一个名为 Proj2 的项目 2。在 Proj1 中添加了对 Proj2 的引用。将 Proj2 作为一个启动项目。在编译和运行时,一切都很好。构建它在发布模式和调试模式下重建它。现在我复制了 Proj1 的 exe 并把它放在不同的地方。它运行时没有显示任何依赖错误,但起点是 Proj1 而不是 Proj2。

为了解决它,我打开了 Proj2 的解决方案文件并在那里添加了 Proj1 并添加了引用。将 Proj2 作为起始文件。它运行良好。但是当我将 Proj2 的 exe 复制到另一个地方时,它显示依赖错误。当我将 Proj1 exe 放在那个地方时,它运行良好。

错误是:

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or 
assembly 'MyExcelReader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or
one of its dependencies. The system cannot find the file specified.
   at CodeGen.Program.CreateNominals(XmlDocument xmlDoc, XmlNode rootNode)
   at CodeGen.Program.Main(String[] args)

【问题讨论】:

    标签: c# .net winforms visual-studio-2010


    【解决方案1】:

    单独添加对项目的引用不会导致此异常 - 当代码尝试从另一个程序集中加载特定类型时会发生此异常。

    显然Proj2 正在尝试从Proj1 加载一个类型,并且由于您没有将Proj1 程序集复制到您正在运行它的目录,它无法加载该类型。

    也许您可以分享您想要实现的目标,以及为什么您希望 Proj2 在没有 Proj1 的情况下运行?

    【讨论】:

    • 谢谢@C.Evenhuis。我只是将Proj1的exe添加到Proj2的目录中。它运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 2012-09-20
    • 2016-08-14
    相关资源
    最近更新 更多