1

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

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

除了:图书馆项目的日期时间戳不是最新版本 - 它大约有一个月大!我拔出头发试图弄清楚它是从哪里得到这个旧版本的 dll 的。我最终发现它在 Temporary ASP.Net 文件夹中。我立即删除了该文件夹的内容并再次构建了安装项目。

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

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

4

2 回答 2

1

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

于 2013-02-06T13:10:28.003 回答
0

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

我不明白为什么,但是删除 temp asp.net 文件夹确实可以修复引用,特别是如果您最近升级到企业库 6.0 并且正在使用 TFS。

对肖恩的回答竖起大拇指。

于 2013-05-23T14:52:19.500 回答