NuGet / Home

Repo for NuGet Client issues
Other
1.49k stars 250 forks source link

Unity 3d Supporting #2146

Open maartenba opened 8 years ago

maartenba commented 8 years ago

From @archiZ on February 19, 2016 15:10

Dear developers! Huge request to add support Unity3d. I want to publish assemblies for Unity3d (or Unity3d Editor) with your system. At the moment Unity3d uses net35-Unity Full v3.5. Thank you!

https://unity3d.com

Copied from original issue: NuGet/NuGetGallery#2897

maartenba commented 8 years ago

@emgarten @yishaigalatzer Is that a TFM we support in NuGet.Frameworks?

maartenba commented 8 years ago

From @emgarten on February 19, 2016 23:23

net35-Unity Full v3.5 would be .NETFramework, Version=v3.5, Profile=Unity Full v3.5

A profile can be anything though I would expect it to not have whitespace within it. There's no change needed from NuGet here as far as I know. Unity needs to use this target framework in the project files in way where NuGet will read it, and then packages can contain this same framework.

maartenba commented 8 years ago

From @archiZ on February 20, 2016 7:29

The problem I have is that the Visual Studio 2015 misunderstands and install this package. I created the structure of the package:

+lib/
 +net45/n45.dll
 +net35/n35.dll
 +net35-client/n35c.dll
 +net35-Unity Full v3.5/net35u.dll
 +other/other.dll

If I install it on .Net 4.5 project: Added ref to assembly n45.dll. (OK) If I install it on .Net 3.5 project: Added ref to assembly n35.dll. (OK) But if I install it on .Net35-Unity Full v3.5 project: Added ref to assembly net35u.dll and other.dll. (FAIL) It is expected that will added ref to only net35u.dll assembly. It does not consider folder "net35-Unity Full v3.5" as valid target framework. I think that the problem in the space symbols.

I can not affect Unity. A Visual Studio supports this type of framework. I think that NuGet must also be support this type :) clipboard01

yishaigalatzer commented 8 years ago

@emgarten if we have an answer on how to do it, please post it here. If we can't do it today, then we should get to it at some point, but it will not make it into one of the next releases

MV10 commented 8 years ago

Isn't it a major issue that Unity routinely blows away all the project/solution files that nuget depends upon?

jwittner commented 6 years ago

I've been allocated some time to try and solve any issues holding back developers from using Nuget as the package manager for Unity.

The tooling within Visual Studio is remarkably close to working for this use case. From my tests it's missing only these capabilities:

What aspects am I missing that would prevent us from employing these simple solutions?

I've pulled down Nuget.Client and will start digging through, but any guidance on resolving these issues is much appreciated!

jwittner commented 6 years ago

Wondering what steps would need to be taken to get the Visual Studio Tools for Unity target frameworks listed under the Supported Frameworks section here: https://docs.microsoft.com/en-us/nuget/schema/target-frameworks.

jwittner commented 6 years ago

Was led to this post which finds a pathway for installing packages into Unity.

Update - After investigation the solution offered might work well for distributing libs, but it falls down when packaging Unity asset data, e.g. prefabs, as content - you end up with duplicate content. Also uninstalling content seems to have issues when two projects in the solution reference the same folders on disk, e.g. embedded Assets/**/Editor folders.

rrelyea commented 6 years ago

Sorry, missed your queries. Please reach out to me on email at rrelyea@microsoft.com.