Visual Studio 2008 - 构建覆盖bin引用的dll

时间:2009-10-29 17:43:32

标签: visual-studio visual-studio-2008 reference

我正在试图弄清楚我在2008年所经历的是新的还是我的安装出了什么问题。

我们有多个Web应用程序项目和多个类库。 Web项目和类库都引用相同的第三方dll,但每个都来自它们自己的bin。每个Web项目中的第三方dll可能比类库中的版本更新,我们只是在配置中进行程序集重定向,因此类库在Web项目中使用时将使用更新的版本。我们这样做是为了让我们不必升级所有Web项目,因为它们可能有不同的发布周期。当然,只有当类库中使用的功能没有从驻留在Web项目中的较新版本的dll中删除或大大改变时,这才有效。

问题出在VS2008上。 bin引用的第三方dll存储在源代码控制中,因此设置为只在资源管理器中读取。出于某种原因,在2008年构建Web项目时,将删除只读属性,并使用类库中的旧版本dll替换dll。 VS2005从未发生这种情况。你会在2005年的输出中看到,dll文件被拒绝访问,因为它是写保护的,但2008只是继续并覆盖了dll。这件事是改变了还是有一个我忽视的环境?另一个问题是Studio想要在构建时检出项目文件,并将已编译的类库的dll添加到项目中。类库被设置为Studio中Web项目的项目引用。一切都在2005年运作良好,但不是2008年。

任何帮助都将不胜感激。

感谢

1 个答案:

答案 0 :(得分:1)

不是将bin目录添加到源代码控制(这似乎是错误的),为什么不将dll放在项目中名为“Third Parties”的文件夹中并从那里引用它?构建时,此dll将被复制到bin目录。