flaclibsharp icon indicating copy to clipboard operation
flaclibsharp copied to clipboard

Interested in contributing, but problems with fresh clone/compile.

Open dpetit12345 opened this issue 8 years ago • 3 comments

I'm working on a tagging library app and thought this project might be of use. Unfortunately I cannot get a fresh pull from githib to compile with VS 2017 Pro. What version are you using?

The problem appear to be related to the nuget restore - I am suspecting some incompatibility.

dpetit12345 avatar Nov 13 '17 14:11 dpetit12345

Hey thanks for reaching out.

Can you provide some more information on what errors you are seeing? Are you trying to build the sources? Or are you having issues importing the library itself via NuGet into your project?

If you're building the source:

I'm using Visual Studio 2017 Community myself. I've just tried a clean clone and build and there was no issue. What I do is: clone, then open the solution in Visual Studio and "Rebuild" solution.

There aren't really any dependencies on NuGet packages either. Only "NETStandard.Library", which is the case when you build a .NET Standard library.

Both AppVeyor (windows) and Travis CI (Linux) are able to build the project, They are also doing a clean clone and build too. So I am suspecting it's environment related.

But hopefully we can figure it out together.

AaronLenoir avatar Nov 13 '17 20:11 AaronLenoir

Aaron - not sure if you received my last note through email. I suspected the problem is a missing .NET Framework version on my machine. I have installed the 3.5 SP1 (8 years old...) and .NET Core 2.0. I am still getting a ton of errors, but they are limited to the FlacLibSharp.Test.Core project. If I remove that project everything is fine. There is some kind of version mismatch between the runtime here that my machine cannot resolve. This causing all .NET low level types to be ignored. I have been unable to figure out how to remove the rogue reference. The relevant error is below.

Error CS1703 Multiple assemblies with equivalent identity have been imported: 'C:\Users\dpetit.nuget\packages\microsoft.netcore.app\2.0.0\ref\netcoreapp2.0\System.ComponentModel.dll' and 'C:\Users\dpetit.nuget\packages\system.componentmodel\4.3.0\ref\netstandard1.0\System.ComponentModel.dll'. Remove one of the duplicate references. FlacLibSharp.Test.Core C:\src\flaclibsharp\FlacLibSharp.Test.Core\CSC 1 Active

I have tried turning off nuget package restores and doing a fresh clone, but that yields other errors. I have been able to reproduce this on 2 different machines.

There is definitely a conflict there somewhere. I would recommended a clean slate build machine (no preinstalled assumptions), and configure the projects to restore the correct versions of dependencies from nuget, perhaps updating them to latest in the process.

I suspect, but cannot verify, that the MSTestFramework is referencing a different .NETCoreApp than the project itself, and that is introducing the conflict.

FYI - I have decided to go with another library that handles more than just FLAC files, so there is no rush. I'm happy to help you troubleshoot the problem, though. I can tell you from experience that .NET Core is not ready for primetime yet - there are LOTS of compatibility problems with it, you may even want to consider breaking it out of the solution.

Also, one other item: what I was going to change was to provide a way to iterate through all tags in a FLAC file (without know what their names are ahead of time). To do this, the comments collection on the VorbisComment class needs to be exposed somehow. Now there are methods to add/update and read tags if you know the name, but no way to get at the names themselves.

Thanks - Dan

dpetit12345 avatar Nov 14 '17 14:11 dpetit12345

Thanks!

I'm still struggling to reproduce it. I happened to have a brand new Windows Server 2016 with Visual Studio 2017 Professional just installed so I tried it out. I had some errors because I didn't have .NET Framework 3.5 SP1 installed. So I added it (windows feature). After that I could build everything. I tried it on another less clean machine too (Windows 10 also VS 2017 Pro), but that also worked.

Which Windows are you using? Is there a chance some older .NET Core versions are hanging around, causing issues? Then again, you did have it on 2 different machines ... really puzzling.

Thanks for the tip on the feature for iterating the tags. I'll make an issue (#40) for that, seems useful.

PS: Which library did you pick? I've been thinking of supporting other file types, but don't really have enough time available.

AaronLenoir avatar Nov 14 '17 20:11 AaronLenoir