[英]Is there a difference when referencing dll binaries or referencing a project in Visual Studio 2008?
[英]Visual Studio C# .dll vs. project referencing
我的Visual Studio解决方案中有两个C#项目。 项目B需要引用项目A中的代码。两个项目都需要编译为dll,然后在应用程序中使用。
在Project BI中,可以设置对项目A的引用,并且可以进行编译。 但是,当我在应用程序中实际使用生成的dll时,它将引发缺少的程序集引用错误。
我当前的解决方案是告诉Project B引用bin / debug / ProjectA.dll。 使用此配置运行应用程序时,一切正常。 但是这种解决方案有许多问题。 例如,在项目A中编写的任何B依赖的代码都不会对B可见,直到重建A。 构建解决方案依赖于首先构建的A。
有没有一种方法可以添加对Project A的引用,但要构建生成的dll,以便它查找ProjectA.dll引用而不是项目本身? 我希望有,但是我的Google搜索没有结果。
例如,在项目A中编写的任何B依赖的代码都不会对B可见,直到重建A。 构建解决方案依赖于首先构建的A。
这不是问题,我认为这是一种好处。 保证您将无法访问不存在的功能。 有人可能会说,如果有一项新功能,那没什么大不了的:我找不到它,遇到了异常/错误,所以我知道出了点问题。 但是更新的代码呢? 这样,可以确保B
将仅使用A
最新版本。
有没有一种方法可以添加对ProjectA的引用,但要构建生成的dll,以便它查找ProjectA.dll引用而不是项目本身?
您可以简单地在项目A
上实现构建后事件,该事件将项目及其所有相关DLL复制到某个预定义的中央位置,在B.dll
位置还将复制B.dll
。 如果您的B.dll
依赖于A.dll
,则操作系统将按照默认行为在检查%PATH%变量内容之前首先在与B.dll
相同的文件夹中搜索A.dll
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.