3

到目前为止,我们有一个 WPF 项目一直在 VS2010 中编译。我们安装了 VS2012 并在其中打开了我们的项目,然后我们检测到以下问题:

我们有一些将 AutogenerateColumn 属性设置为 true 的数据网格。当我们向这个数据网格添加新列时,只显示这些新列(它必须是错误的行为)。安装 VS2012 后,新列和自动生成的列都会显示(如预期的那样)。从那时起,它也发生在 VS2010 中编译我们的项目,就像在 VS2012 中一样。我们确信我们所有直接引用的程序集仍在 .NET Framework 的 4.0 版本中,而不是在 4.5 版本中,并且我们完全没有更改任何代码。

我们并不担心 WPF DataGrids 中的这个特殊问题,因为它很容易通过将 AutogenerateColumns 设置为 false 来修复。我们担心在 VS2012 安装过程中会更改哪些间接引用,以及它会对我们的应用程序产生什么其他影响。

我们知道,从理论上讲,预计不会产生影响,但我们已经看到了这个问题,我们的信念现在正在摇摇欲坠。

任何帮助将不胜感激。

4

1 回答 1

1

我刚刚以两种不同的方式测试了您所说的内容,并且在这两种方式中,应用程序都使用 VS2010 IDE 并针对 .NET Framework 4.0 客户端配置文件在同一台机器上编译(安装了 VS2012 和 VS2010)。

在第一个场景中,我在安装了 VS2012 的机器上执行了这个应用程序(它被编译的那个),结果如下:

在此处输入图像描述

正如您在此图像中看到的,有两个明确添加的列(“CANTIDAD PENDIENTE”和“FECHA”)和两个自动生成的列(“P1”和“P2”基于我用作 ItemsSource 的匿名对象的实际属性)。这就是您在问题中解释的内容。

第二种情况有点不同。我在另一台安装了 VS2012(既没有 .NET 4.5 Framework)的机器上执行了相同的编译应用程序,得到的结果令人担忧:

在此处输入图像描述

我认为你应该测试你的整个应用程序,以确保你没有交付错误的应用程序,具体取决于客户环境中安装的框架,但显然这可能是一个真正令人头疼的问题。

我真的希望这有助于澄清您的问题。

于 2012-11-15T09:57:18.940 回答