Best practices for referencing 3rd party assemblies

后端 未结 3 1532
青春惊慌失措
青春惊慌失措 2021-02-16 00:26

I have been wondering what are best practices when it comes to referencing 3rd party assemblies. A while ago I asked a question \"Dependencies and references: what exactly shoul

相关标签:
3条回答
  • 2021-02-16 00:32

    You can also use NDepend to know and control exactly what you use from tiers library. I wrote an article about this Controlling the usage of libraries

    0 讨论(0)
  • 2021-02-16 00:48

    An alternate I've been using on many (C#) projects is:

    • Make a "Bin" folder in the solution directory (same level as the project directories)
    • Make the output of all projects ../Bin instead of bin/debug or bin/release
    • Put whatever files that are not a result of the build in "Bin", including library dependencies, certain data files or whatever, depending on the project
    • Contents of "Bin" also goes to source control (without the build output, of course)
    • Whatever libraries directly referenced by your projects goes to a "References" or "Libs" folder (sometimes I've also tried putting them in Bin too, but in this case you need to remember to disable copying of references to output dir when adding the reference to your project, which becomes tedious on large projects)

    Not really sure if it's a good solution, but has worked for me till now.

    0 讨论(0)
  • 2021-02-16 00:54

    If i have to deal with libraries that aren't registered in the GAC, I use the following method:

    • Make a folder "Libs" with all third party libraries and their dependencies in it
    • Reference the ones I need
    • Create a post-build action that copies all the files in the "Libs" folder to the "bin/debug" (or release) folder

    If you don't know the dependencies, you can use Dependency Walker.

    0 讨论(0)
提交回复
热议问题