fsprojects / AzureStorageTypeProvider

An F# Azure Type Provider which can be used to explore Blob, Table and Queue Azure Storage assets and easily apply CRUD operations on them.
http://fsprojects.github.io/AzureStorageTypeProvider/
The Unlicense
84 stars 34 forks source link

Changed build.fsx to make WindowsAzure.Storage a Nuget dependency - Take 2 #55

Closed TWith2Sugars closed 8 years ago

TWith2Sugars commented 9 years ago

It can be done,

by using nugets Reference spec http://docs.nuget.org/create/nuspec-reference#specifying-explicit-assembly-references we can bring the files over locally for the typeprovider to use but only reference dependent dlls from nuget.

Tested locally - works fine

fixes #51

TWith2Sugars commented 9 years ago

@isaacabraham Just grabbing your attention in case you think this pull request is the same as https://github.com/fsprojects/AzureStorageTypeProvider/pull/54

I should have made a better title :)

isaacabraham commented 8 years ago

Just testing this out. The thing I'm unsure of is this: OK, we're now referencing the Azure Storage SDK as a dependency, great. The "References" node - what actually does this do? (cc: @forki) Does it automatically copy the DLLs across from the dependent nuget package to the target folder?

Currently we're still bundling the actual assemblies with the nuget package - isn't the aim to remove them?

So, having a dependency on Azure 4.3.0 is a good first step - but we're still bundling the dependencies manually.

TWith2Sugars commented 8 years ago

The default action for paket/nuget is to reference all the dlls in the pkg. "references" is a white list of what is allowed to be referenced by paket/nuget.

Yeah we still bundle the dependencies as well, this lets the type provider have a local copy (as our previous attempts to get the type provider to look else where for the files failed) of the files it needs to run. While at the same time the end user doesn't have another copy of them.

isaacabraham commented 8 years ago

ok, i see what you're saying - so the design time TP would use the "internal" copies of the DLLs (that are included in the TP) but will be invisible to the user in terms of project references. OK - just testing it out here.

TWith2Sugars commented 8 years ago

Pretty much yeah

isaacabraham commented 8 years ago

OK, I've figured it out. I've needed to modify the .nuspec files as well - you have to add the @references@ item in there for the nuget package to be generated correctly. I'll commit and merge shortly.

Cheers :)