我在排除我正在开发的软件的问题时遇到了问题。
这是我公司的代码,所以我可以详细说明(粘贴代码等)。
无论如何 - 我有一段 C# 和 WPF DataGrid。它的行为很奇怪。在某些计算机上它工作正常,但在其他计算机上它却工作得如此 - 您将一些值放入 1 个或多个单元格中,相同的值会在下面显示几行。但是它只在视图端,因为如果您单击单元格,就会出现实际值。此外,滚动单元格时会“丢失”实际值。
我找到了类似的问题,但它与代码紧密相关。我不认为我的情况与代码有关——它看起来更像是与环境有关。
我比较了我的两台机器(一台可以运行,第二台不运行),主要区别在于安装了 Visual Studio。
您知道如何确定这种不同行为的原因吗?我可以使用哪些工具?要寻找什么?
编辑:
环境不同(我所知道的全部 4 个): - 1 是物理机(Windows 10),3 是虚拟机(Windows 7)
在 2 台虚拟机上可以运行,但在另外 2 台机器上则不行
(从这里我只谈论我的两台机器,都是虚拟机)
编译版本(调试或发布)和安装版本都在我的一台虚拟机上运行。将编译版本移至其他机器会导致同样的问题。
两台机器都安装了 Visual Studio 2015
目标 Net Framework 是 4.6.2。两台机器上都安装了
Net Framework 4.5 4.5.1 4.6 4.6.1 4.6.2 4.7.2
不工作:
MVC++ Redistributables
2008 x64 9.0.30729.6161
2008 x86 9.0.30729.4148
2008 x86 9.0.30729.6161
2010 x64 10.0.30319
2010 x86 10.0.30319
2012 x64/x86 11.0.60610
2012 x86 11.0.61030
2013 x64/x86 12.0.21005
2015-2019 x64/x86 14.22.27821
在职的:
MVC++ Redistributables
2005 8.0.56336
2008 x64 9.0.30729.6161
2008 x86 9.0.30729.4148
2008 x86 9.0.30729.6161
2010 x64 10.0.30319
2010 x86 10.0.30319
2012 x64/x86 11.0.60610
2012 x86 11.0.61030
2013 x64/x86 12.0.21005
2017 x68/x86 14.15.26706
代码混合了 C# 和 C++ 以及一些外部库。
只有一个 HotFix 安装在可以正常工作的机器上,而另一个机器上没有安装:KB4507449。在不工作的机器上还安装了一些其他程序。
使用 DataGrid 的简单示例可以正常运行。
编辑:您知道有什么简单的方法可以比较正在使用的 dll 吗?