1iveowl / Plugin.SegmentedControl

MIT License
170 stars 29 forks source link

I: Issue locating nuget library (.xbf files) #27

Closed nea closed 6 years ago

nea commented 6 years ago

Hi

First of all thanks for this plugin.

I just installed version 3.1.0 via nuget and wanted to build and got an error that it cannot find the .xbf files.

It looks in .nuget\packages\plugin.segmentedcontrol.netstandard\3.1.0\lib\uap10.0\Plugin.Segmented.Control.UWP but the files are located one level above at .nuget\packages\plugin.segmentedcontrol.netstandard\3.1.0\lib\uap10.0.

Is this a configuration thing? If I am copying the files manually to the sub-folder, it builds. But that is probably not the aspired solution ^^

Thanks in advance

1iveowl commented 6 years ago

Good catch @nea. It does indeed seem like there is an issue with the NuGet packaging.

Could you please test and see if it have been fixed with v3.1.1?

nea commented 6 years ago

Damn you are fast ^^

But now the sub-folder is gone completely but it still looks for it:

Payload file '\.nuget\packages\plugin.segmentedcontrol.netstandard\3.1.1\lib\uap10.0\Plugin.Segmented.Control.UWP\SegmentedUserControl.xbf' does not exist.
Payload file '\.nuget\packages\plugin.segmentedcontrol.netstandard\3.1.1\lib\uap10.0\Plugin.Segmented.Control.UWP\Plugin.Segmented.Control.UWP.xr.xml' does not exist.          
Payload file '\.nuget\packages\plugin.segmentedcontrol.netstandard\3.1.1\lib\uap10.0\Plugin.Segmented.Control.UWP\SegmentedRadioButtonStyle.xbf' does not exist.

but there is no folder Plugin.Segmented.Control.UWP.

Best

1iveowl commented 6 years ago

Yes, I removed the subfolder. Everything should now be in the same folder, which I think is how it ought to be.

Could you clean up the project. Maybe even delete the bin and lib libraries and then try again with the new NuGet v 3.1.1?

nea commented 6 years ago

Hey

Sorry, I removed the package, cleaned the solution, removed bin, lib, obj but still the same error.

Sorry

1iveowl commented 6 years ago

No worries. It's a bit strange. Anyhow. Try 3.1.2.

nea commented 6 years ago

Hi

It gets stranger: 3.1.2 does not know about Plugin.Segmented.Control.UWP and therefore SegmentedControlRenderer anymore.

Weird stuff.

rjantz3 commented 6 years ago

@1iveowl Did you forget a \ at the end of the path by the uap10.0 in the nuspec file in the UWP section?

<file src="..\crossplatform\SegCtrl.UWP\bin\Release\*.xbf" target="lib\uap10.0" />
<file src="..\crossplatform\SegCtrl.UWP\bin\Release\Plugin.Segmented.Control.UWP.xr.xml" target="lib\uap10.0"

Shouldn't it be something like this?

<file src="..\crossplatform\SegCtrl.UWP\bin\Release\*.xbf" target="lib\uap10.0\" />
<file src="..\crossplatform\SegCtrl.UWP\bin\Release\Plugin.Segmented.Control.UWP.xr.xml" target="lib\uap10.0\"
1iveowl commented 6 years ago

@rjantz3 that extra \ shouldn't matter. In fact in most of the Nuget spec examples in the docs, it is not used. I think that something else is at play here.

Anyhow, I will try to find time to look at this more closely. I thought it was a quick fix but apparently it is not.

1iveowl commented 6 years ago

This should be fixed now. I was able to add the NuGet in a separate test project using v3.1.5.

All .xbf files as well the .xr.xml file is now in the same sub-directory. I seems, that this is how UWP prefers it.

I considered removing the UWP directory altogether, since UWP 16299 and later supports .NET Standard 2.0. So in fact, I'm not even sure it's needed anymore. Anyhow, this is for a later investigation.