As long as Microsoft.Web.Xdt can run on Mono, both in terms of not having other dependencies that prevents this and that there is a license form that will allow it, then I see no issues (then again I have no idea what Microsoft.Web.Xdt is). I have to say that I am a bit worries here to be honest. If you head the "The Truth about NuGet and its Future" post http://haacked.com/archive/2012/10/23/the-truth-about-nuget-and-its-future.aspx he is quite clear to point out a couple of things
- "However, the architecture of NuGet is such that there’s a core assembly,NuGet.Core.dll
, that has no specific ties to Visual Studio"
- "In fact, there’s a NuGet.exe
which is a wrapper of NuGet.Core.dll
that runs on Mono. Well sometimes it does; and this is where we need your help! So far, Mono support
for NuGet.exe
has been low priority for the NuGet team. But as I see the growth of Mono, I think this is something we want to improve." (he also points out that Drew Miller is keen to make better Mono support a reality)
- "On paper, NuGet is a fully independent project of the Outercurve Foundation."
- "the version of NuGet included in Visual Studio 2012 is officially named the NuGet-Based Microsoft Package Manager and is a Microsoft product"
Again, I want to emphasis that I do not know the specifics of Microsoft.Web.Xdt but from what I spotted, after a quick Google, is that it has something to do with Web.config transformation.
Microsoft has a strong tradition of not permitting binaries from being deployed on other platforms other than Windows. As an example, the Microsoft.AspNet.Razor package license http://www.microsoft.com/web/webpi/eula/webpages_2_eula_enu.htm states
- Distribution Restrictions. You may not
distribute Distributable Code to run on a platform other than the Windows platform
However if you used the open sourced source code, and build it yourself, then you are permitted. This leads me to think that Microsoft.Web.Xdt would need to be open-source for anyone to use it on Mono.
The last thing Nuget needs is for Microsoft to create a fracture between the open-source Nuget and the propitiatory Nuget =/