我正在尝试将解决方案从VS.NET 2008转换为2010.该解决方案包括一个Windows服务项目和一个安装Windows服务的安装项目。我在编译安装项目时遇到问题。我已尝试从头开始几次,按照标题为您的服务创建设置项目一节中的教程here。
当我只是按照这些步骤构建项目时,我收到此错误:
Unable to build custom action named 'Primary output from <name> (Release x86)', InstallerClass property is only valid for assemblies.
(我的Windows服务项目的名称在哪里)。搜索此错误会在MSDN上显示this页面,告知我将 InstallerClass 设置为 False 。我为4个自定义操作中的每一个执行此操作。进行此更改和构建后,我收到以下错误:
Unable to build custom action named 'Primary output from <name> (Release x86)' from project output group 'Primary output' because the project output group does not have a key file.
谷歌搜索,我只得到一个hit。甚至不必费心点击链接,全文如下:“删除自定义操作并将其替换为指向具有密钥文件的项目输出组的自定义操作。”
这是什么意思?任何人都可以帮我弄清楚我在这里做错了吗?
答案 0 :(得分:4)
当我将 InstallerClass 设置为 False 时,问题就出现了。显然,我没有为x86目标构建Windows服务。我得到了this讨论的提示。我更改了所有项目以定位正确的平台,并将 InstallerClass 设置为 True ,为安装文件中的每个自定义操作立即生成。
答案 1 :(得分:3)
这有点旧,但我自己遇到了这个错误:
将vs2008迁移到vs2010,安装项目在一个特定配置中没有给出错误,但在包含安装项目的其他两个配置中也没有。发现在最初创建时,有人添加了来自特定配置的主输出(不是“(活动)”)。因此,当构建不同的配置时,安装程序将抛出此错误。 (在迁移到vs2010之前可能有这个问题。)
修复:
现在所有构建都没有错误。
答案 2 :(得分:-1)
单独重建项目类安装程序类,然后重新构建安装程序项目。