【发布时间】:2013-07-19 14:56:24
【问题描述】:
我有一个在 4.5 中构建的 .NET 应用程序,它引用了在 4.5 中构建的一堆库,这些库本身也引用了 4.5 等。我正在尝试分发应用程序的用户组to 在运行可执行文件时遇到问题,因为他们安装了 4.0;特别是,他们得到了 MissingMethodException:
Method not found: 'System.Type System.Runtime.InteropServices.Marshal.GetTypeFromCLSID(System.Guid)'.
因为我们可能无法让每个用户升级到 4.5(因为他们都没有计算机上的管理员权限,这需要为每个用户单独提出升级请求),我正在寻找一种简单的方法来重建项目为 4.0。这似乎要求我在 4.0 中重建每个库及其引用的库;有没有比逐个浏览每个库并构建 4.0 版本更简单的方法?我在想可能是“在目标框架中重建所有引用的库”的一键式选项或类似的东西。
【问题讨论】:
-
不,您必须更改每个单独项目的框架目标。我想你可以编写一个使用 XDocument 来更改项目文件的小程序,我怀疑它会更快。请确保您的客户知道您已经测试过并且可以支持的版本。这与您可以构建的版本无关。