建立MSI的“平台不兼容错误”

时间:2019-09-13 13:58:39

标签: c# windows-services windows-installer .net-4.5

我有一个Windows服务应用程序,正在尝试将MSI项目添加到解决方案中。应用程序使用64位Oracle数据访问DLL,并作为64位应用程序构建。

我向解决方案中添加了新的“项目设置”项目,并完成了步骤。应用程序项目中还有两个其他DLL:log4net.dll和System.Net.Http.dll。

Windows Service本身运行良好。当我尝试构建解决方案时,出现File 'Oracle.DataAccess.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'错误。我检查了此错误,每篇文章都说将安装程序的标记平台设置为x64,这很有意义。唯一的事情是,当我打开安装程序项目的属性窗口时,没有选择目标平台的选项,并且它是空白的。

这是安装程序的“应用程序文件夹”部分的屏幕截图:

enter image description here

这是安装程序属性:

enter image description here

这是Windows服务应用程序的属性:

enter image description here

1 个答案:

答案 0 :(得分:0)

过程 :您需要在设置项目的属性窗口中设置MSI体系结构。这是与您显示的页面不同的属性页面。

  1. 左键单击 Visual Studio Installer Project 内的 Visual Studio Solution
  2. F4 进入项目的属性页面。
  3. TargetPlatform 中,选择 x64

Property Pages

提示 :尝试在遇到此类问题时搜索确切的错误消息。这是之前的答案:Can't set 64 bit target for Setup Project in Visual Studio 2017(我添加了一个新的快照来进行截屏)。

注意事项 :有关使用Visual Studio安装程序项目的注意事项。它们有很多限制:Visual Studio Publish Project Into One Simple Installer

MSI工具 :这是quick overview of other MSI tools。还有here is a detailed overview / review


链接