【发布时间】:2020-01-02 16:15:00
【问题描述】:
我正在编写一个 Windows 窗体程序,它没有使用 .net 框架 4.5-4.7 中的任何新技术,但不幸的是,我开始项目时将 .net 框架设置为 4.6.2。 (因为一开始公司告诉我他们只想在win 7/8.1/10上使用它,后来他们改变了主意) 我知道 Windows XP 已经过时,但我也必须在 XP 机器上运行这个程序。
我已经尝试将目标框架设置为 .NET 4.0,但是当我在 XP 机器上尝试使用 .msi 安装程序时,它会抛出一个错误,即我无法运行依赖于 .net 4.6.2 的程序,甚至之前它开始安装过程。
我能否将整个项目“转换”为 .net 4.0,或者我必须将所有按钮、文本框、数千行代码等复制到仅使用 .net 4.0 的新项目中? 我正在使用 Visual Studio 2017。
【问题讨论】:
-
除非被告知,否则安装程序不会知道正在使用的框架。您需要关注 MSI 正在做什么,而不是您如何编译应用程序。您没有提到您使用什么技术来创建您的 MSI,但安装日志记录可能会给您一些线索,通常框架版本的启动条件可能需要调整。要创建安装日志,请使用类似于以下内容的命令行: msiexec /i
/l*v -
嗯,这可能是个问题!我做了你的提示,但我真的无法使用我的 Windows 10 机器识别此命令行创建的日志文件中的任何错误。我把文件上传到了Dropbox,如果你能看一下,我会很感激你的时间!:dropbox.com/s/7glqt2ag5d0eylt/setupLog.log?dl=0
标签: c# .net winforms frameworks