2010-07-02 48 views
0

一些背景: 我有我不使用项目输出VS 2008部署项目,我加入装配文件直接,因为我们有我们建设他们之后的组件运行第三方许可和混淆工具。此部署项目中还包含一个带有示例的帮助目录。如何强制VS 2008部署项目在两个不同的位置安装同一文件的两个不同版本?

其中一个示例是引用了主程序中某些程序集的C#项目。我们在这个示例项目中包含bin \ Release文件夹,以便最终用户可以轻松运行该示例,而无需通过调试器或任何其他示例运行该示例。这可能具有较旧版本的主项目组件,因为这取决于上次构建示例项目的时间。

问题: 示例项目引用的主要项目程序集包含在本示例的bin \ Release文件夹中,并且具有相同名称但版本不同的程序集位于部署项目的应用程序目录中。看来,VS 2008正在试图通过识别这些文件具有相同的名称以便存储一个副本来尽量减少空间。但是,它使用的是示例中的文件,而不是主项目中的文件。有没有办法告诉VS每次使用指定的文件,即使可能存在另一个具有相同名称的文件?

+0

您是否正在将示例安装到* * *目录下?应用程序目录*不是*不同的目录。 – 2010-07-02 17:13:36

+0

我试着只更新示例项目中的引用,并且似乎应用程序目录中的程序集没有更改。也许这是VS存储你添加的确切文件,并且在重建项目时没有得到新文件? – Jack 2010-07-02 17:15:36

+0

应用程序目录'bin'和'help'中有两个目录,示例位于主应用程序位于'bin'的'help'目录中。 – Jack 2010-07-02 17:16:56

回答

0

因此,事实证明,当你将一个程序集添加到部署项目时,VS会自动添加它的依赖项。但是,重建这些依赖关系时永远不会更新(它将始终使用与首次添加需要这些依赖关系的程序集时相同的版本)。

我不得不排除依赖(如VS不会让你删除它们)和手动添加这些相同的文件。现在,每当我进行构建时,我都会获得这些文件的最新版本。

相关问题