我正在用C#做一个项目。在我的解决方案中,我有一个installsheld项目,当我直接从visual studio编译时,它运行得非常好,我有一个生成的设置,可以安装。
我希望由于各种原因能够使用MSBuild使用命令行解决方案进行编译。尽管有任何错误,但一切正常但我的设置无法正确生成。
下面是我从visual studio编译installshield项目时的日志:
Log InstallShield compile from visual studio
使用MSBuild:
Log InstallShield compile from command line using MSBuild
我们注意到在构建文件表的步骤中,从visual studio我们有组件'RegieCiel.Primary_output'的依赖,所以我们很好。从MSbuild开始,没有添加任何内容......
所以会发生在安装安装过程中,缺少依赖关系。
我首先想到的是构建顺序,但它在两种情况下都有效吗?
您怎么看?
答案 0 :(得分:0)
我避免像瘟疫这样的项目输出引用。我建议有一个Application.sln和一个Installer.sln。让您在application.sln(EXE,Web Projects)中的最终项目执行postbuild xcopy或MSBuild发布配置文件,并创建一个为已部署的应用程序建模的目录。从那里使用InstallShield中的一个Path Variable将所有这些文件指向静态链接。还要确保关闭所有依赖项扫描。您希望100%控制项目的内容和内容。
答案 1 :(得分:0)
我感谢你的回答,实际上我认为提出并不能解决问题的“静态”解决方案。
然而,经过长时间的搜索,我终于找到了!
在我的解决方案中,我有一个名为“SlowCheetah”的软件包来管理多个配置文件。通过卸载它,重新启动MSbuild,我的安装程序完美运行!
感谢您的帮助!