fsprojects / Paket

A dependency manager for .NET with support for NuGet packages and Git repositories.
https://fsprojects.github.io/Paket/
MIT License
2.02k stars 523 forks source link

paket.targets per package #417

Closed ctaggart closed 8 years ago

ctaggart commented 9 years ago

When I adopted Paket, I was expecting paket.targets files per NuGet package to soon happen. It was mentioned before in #197. I'd really like to see this happen. Something like this:

<Import Project="..\..\..\packages\FSharp.Core\paket.targets" Condition="..\..\..\packages\FSharp.Core\paket.targets" />
<Import Project="..\..\..\packages\Newtonsoft.Json\paket.targets" Condition="..\..\..\packages\Newtonsoft.Json\paket.targets" />

There are way to many changes being made to the project files and this causes lots of noise in the diff and some frustration when merging. An example is this pull request I just made for FAKE: https://github.com/fsharp/FAKE/pull/602

ovatsus commented 9 years ago

I'm not saying the extension is a bad thing, would be great to have the extension. What I'm saying is that I want all my projects to be able to just work by a simple git clone + open the .sln and build, without any special requirements.

forki commented 9 years ago

Yes we all want this. But MS closed the door for us. Instead of fixing the root cause they shipped an addin. Btw: this is not only bad for us it's also a really bad solution for other IDEs. Simply calling MSBuild doesn't work anymore - so every other IDE has to build a plug-in.

Now we have to find the best workaround. On Dec 11, 2014 11:26 AM, "Gustavo Guerra" notifications@github.com wrote:

I'm not saying the extension is a bad thing, would be great to have the extension. What I'm saying is that I want all my projects to be able to just work by a simple git clone + open the .sln and build, without any special requirements.

— Reply to this email directly or view it on GitHub https://github.com/fsprojects/Paket/issues/417#issuecomment-66599561.

ovatsus commented 9 years ago

Well, right now, if you don't change anything, restore is working, so Paket even has that as added benefit on top of Nuget, it will work fine on other IDEs

isaacabraham commented 9 years ago

@ovatsus but Nuget takes this approach via an addin - out of the box VS won't restore conventional NuGet packages either.

forki commented 9 years ago

I might have found a (hacky) way. Stay tuned.

isaacabraham commented 9 years ago

forki commented 9 years ago

We need to check out http://stackoverflow.com/a/24055340/145701

ctaggart commented 8 years ago

I'm closing this because the new MSBuild world moves dependencies to an external project.lock.json that should be .gitignored which solves this issue and also my biggest grievance. Adding support for project.lock.json is in https://github.com/fsprojects/Paket/issues/736.