1

I downloaded the jsonUtils project from Github https://github.com/bladefist/JsonUtils

It consists of a website and classlibrary. The classlibrary has all the cool stuff I want in it.

I notice the top level folder of that solution contains Website, Classlibrary and Packages.

I built and run the the solution. Works great.

I copied the classlibrary to my own solution where I need the functionality and did Add New... Existing Project and it's sitting pretty there.

enter image description here

I can make calls, get results and everything is hunky-dory.

Now I checked this all into VSO (Azure) and downloaded it on my different PC.

It won't compile on this PC and there is a missing reference.

enter image description here

System.Data.Entity.Design.PluralizationServices.dll is not found.

So I gone back to the PC where it works and "show all files" and in the bin folder I can see the missing files.

enter image description here

What is the correct way to deal with this? One big difference is that I don't have the Packages folder containing the references that existing in the original github solution.

bendecko
  • 2,643
  • 1
  • 23
  • 33
  • Might be [this one](https://github.com/CodeGator/CG.Pluralization). Good reminder for everybody that re-using System names is a very bad practice. – Hans Passant Nov 15 '20 at 16:44
  • @HansPassant no I think its the genuine one. Also the Xamasoft.dll is missing. Do I copy the packages folder from the source solution into mine? – bendecko Nov 15 '20 at 17:08

1 Answers1

1

Even though it's not suggest to check in /bin folder, dll files.

For some case, those DLL's wouldn't be available in Nuget.org or others.

.gitignore file specifies the untracked files. .gitattributes defines attributes per path. They are configuration files of Git.

In Visual Studio, the bin and obj folders are used to store the output generated by compilers (see here). As these output files are generated by compilers, you don't want to track them in the source control.

If your project need to reference to some 3rd party dlls, the best approach is to reference to them as Nuget packages if there are Nuget packages available for the dlls. If not, you can put them in a folder other than bin or obj so they can be tracked in Git. You should not change .gitignore to track bin or obj folders.

You could also take a look at other's solution in this link: Why does visual studio exclude BIN and OBJ folders at Azure DevOps checkin

Note:The ideal/best way of using 3rd part libraries is through NuGet Feed/Packages.

PatrickLu-MSFT
  • 49,478
  • 5
  • 35
  • 62