Dependencies and references - What exactly should I reference?

做~自己de王妃 提交于 2020-01-21 07:15:38

问题


I am wondering what to include when building my project. I have a library I need to reference for my project to build but that library has 10 dependencies itself. Should I reference those dependencies as well or should I copy them to the output directory using a post build event?

What is the best practice?

I find it confusing to include all those dependencies as the project compiles fine without them - are they then called runtime dependencies? My references become cluttered with dependencies irrelevent to my project even though they are used in some library I am including.

I am using Visual Studio.

Can someone please give me some insight into how to do this right.

Thanks.


回答1:


You only need to add references that are directly used by your project.

For private assemblies (those not in the GAC) Visual Studio will, by default, copy referenced assemblies (and their dependencies) to your project's output directory.

For assemblies in the GAC Visual Studio doesn't copy the referenced assembly to your project's output directory by default.

In both cases you can change the behavior by changing the "Copy Local" reference property.

IMHO, it's a nifty feature of the build environment. In the unmanaged world it's up to you to keep track of your dependencies' dependencies (usually through pre or post build events).




回答2:


It's just opinion. Either way will work.

Personally I hate post-build BAT files, so I would include the dependencies to get them copied to the output directory.

Another option is to put a link to them in your project - like in a resources directory. Have this set to BuildAction=None, and CopyToOutputDirectory=CopyIfNewer




回答3:


I suppose you are working in Visual Studio.

The short answer is to include only the assemblies needed for your project to compile.

Referencing more assemblies should not cause any problems, for your application will load assemblies when needed at run time, but having a long list of references can get confusing and messy.

Your list of references should tell about what your program does and what functions it uses.



来源:https://stackoverflow.com/questions/268214/dependencies-and-references-what-exactly-should-i-reference

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!