Visual Studio 2015是否也在Debug的上层创建了依赖项?我使用Wix创建的安装程序没有运行预期的exe,我认为这是Wix的问题。但后来我通过在临时子文件夹中复制完整的Debug文件夹来测试它,并且应用程序甚至没有从那里运行。只有在Debug文件夹以外的地方存在依赖项时才会发生这种情况(因为系统资源(dll)是从C:驱动器的绝对路径访问的,因此它们始终可用。
答案 0 :(得分:3)
您的清单文件或其他设置文件中是否有问题?某些相对路径指向源层次结构中的文件夹?可能它只是一个图像文件或某种缺少的设置文件?或者它可能是完全不同的东西。
AI在你的另一个问题中写道,对于难以调试的依赖性场景,一种方法就是咬紧牙关并运行一个彻底的procmon.exe会话(这是一个直接热链接到实时sysinternals工具共享,单击它将立即开始下载 - 只是让您知道)。
您可以在此问题中快速了解如何使用此工具: Registering a CPP dll into COM after installation using Wix Msi installer 。关键是设置一个包含过滤器,它只显示你需要看到的事件 - 基本上对你自己的应用程序来说,应该足够了。
很多人发现这种前瞻性的东西矫枉过正,并且不想处理它 - 但相信我,它几乎总能揭示出一些意想不到的东西(但并不总是有用)。
和以前一样,这个答案也值得快速浏览(一般来说是依赖关系):After creating MSI Installer for WPF app in Visual Studio 2017, EXE does nothing。我至少会尝试使用Dependencies.exe工具 - 即使它有点“beta-ish”。您可以从这里下载:https://github.com/lucasg/Dependencies/releases。
肯定会仔细检查Visual Studio中的模块视图,我在链接的答案(Debug => Start Debugging
中描述,然后转到Debug => Windows => Modules
)。它应该显示加载的任何内容以交互方式运行项目。