Working with Common / Utility Libraries

In the company in which I work, we have the Utility project, which refers to almost everything that we create. He got a lot of things like NullHelpers, ConfigSettingHelpers, Common ExtensionMethods, etc.

The way we work is that when we want to create a new project, we get the latest version of the project from the original control, add it to the solution, and then refer to the project from any new projects that are added to the solution.

This worked fine, but there were a few cases where people made a “hack of change” to a common project that works for them, but doesn't work for others.

I thought that instead of adding a shared library as a reference to the project, perhaps we should start developing the shared library as a separate DLL and publish different versions and configure a specific version for a specific project so that changes can be made without risk to other projects using a shared library.

Having said everything that interests me, look at how others link or use their shared libraries.

+3
source share
3 answers

This is exactly what we are doing. We have a Utility project that has some non-specific useful features. We increase the version manually (minor), build the project in the Release version, sign it and put it in the shared folder.

Then users use a specific version of the library.

, Utility, Utility (//TODO). , , .

- -, [], .

, .

, .

+5

; , . , .

, . , , .

, , . , , , / - . ... , , :/

+3

!

I used to use project links, but it all seems bad when, as you say, you have many projects linking to it.

Now I compile the DLL and set the DLL property to false after the first build (otherwise, I find that it can override auxiliary projects and just becomes a mess).

I suppose that in theory this should probably be GAC'ed, but if his problem changes a lot (like mine), it can become problematic.

+1
source

Source: https://habr.com/ru/post/1696653/


All Articles