InstallShield 2012从临时asp.net文件夹部署dll

时间:2013-02-06 03:50:39

标签: installshield installshield-2012

我的解决方案中有一个InstallShield Spring 2012项目。我在我的解决方案中添加了Windows Service项目的项目输出。此Windows服务项目引用了解决方案中的库项目。同一个库项目由同一解决方案中的ASP.Net MVC Web项目引用。

现在,当运行生成的setup.exe进行安装时,它运行正常,没有任何问题。它安装到预期的目标文件夹,我可以看到Windows服务的exe以及libary项目的DLL。

除了:库项目日期时间戳不是最新版本 - 它大约有一个月了!我把头发拉出来试图找出它从哪里得到这个旧版本的dll。我最终发现它是在临时ASP.Net文件夹中获取它。我立即删除了该文件夹的内容并重新构建了安装项目。

这次它奏效了。但果然,在对库项目进行了更多更改并重新构建了安装程序后,部署的exe仍然是从临时ASP.Net文件夹中获取的非最新版本。

为什么它会这样做呢?我错过了某个地方的设置吗?

2 个答案:

答案 0 :(得分:1)

项目输出组的内容由提供文件列表的项目决定;如果它提供无用的信息,就无法将其转化为良好的信息。如果您知道正在构建需要包含的文件的位置,请跳过项目输出组引用,并将文件直接添加到InstallShield项目中。

答案 1 :(得分:0)

最后......我很沮丧并且寻找解决方案将近一周。

我无法理解为什么,但删除临时asp.net文件夹确实有用,特别是如果您最近升级到企业库6.0并使用TFS,则修复引用。

两个大拇指向Shawn的回答。