这是场景:
存储在 SVN 中的 AC# Windows 应用程序项目用于创建可执行文件。通常,构建服务器处理构建过程并定期创建用于测试的构建。在这个特定的例子中,我被要求修改一个特定的构建并创建可执行文件。
我不完全确定构建服务器是否修改了项目文件,但我知道它在用于编译可执行文件的源代码的 SVN 中创建了一个标签。使用该标签,我在第二台机器上检查了代码,这是一台开发机器。然后我在开发机器上编译了源代码。
执行时,在开发机器上编译的应用程序的功能与构建服务器编译的应用程序不完全相同。例如,在测试机器上,应用程序检测到 DateTime Parse execption。但是,构建机器的可执行文件不会引发任何异常。如果我在开发机器上运行可执行文件,则不会引发异常。
所以总而言之,两台机器理论上都使用相同的源代码和项目。
开发机器的可执行文件只能在开发机器上运行。Build 机器的可执行文件适用于每台机器,包括开发机器。
机器的区域设置或时区是否存储在编译的可执行文件中?知道什么可能导致这种行为或如何检查可执行文件以找到可能的差异并纠正它们吗?
不幸的是,我不能拿一台测试机并附加一个调试器。我会尽快。