2012-05-05 51 views
2

我有一个项目Foo.BackOffice。它有一个对我有NHibernate dll的Foo.Repository的引用。MVC 3发布不从参考项目发布dll

当我发布Foo.BackOffice到IIS。它不会发布Foo.Repository中的dll,NHibernate dll。但它确实发布了Foo.Repository.dll

如何发布Foo.Repository作为参考的dll。

谢谢。

回答

4

this connect问题:

你看到的行为目前是设计的。编译器只有 复制间接引用,它可以找到编译时间 依赖关系。在这种情况下,它确定您的Web项目没有 对项目B具有编译时间依赖性。直接依赖关系将始终被复制到 。

你只需要在Foo.Repository不是NHibernate的直接依赖。

所以,只需在您的web项目中引用NHibernate dll,它们将在发布期间复制。

+2

那是由设计?有趣的决定。所以现在我必须在所有项目中包含相同的参考文献?你认为这是一个很好的设计吗? – DarthVader

+0

如果您希望他们发布,您只需将它们包含在您的Web项目中即可。或者你发布后手动复制它们... – nemesv

+1

这个设计很烂!我在层中进一步依赖,现在我必须将它们全部包含在我的Web层中才能发布。垃圾! –