I am building a custom web part in SharePoint 2013 that will convert a .wav file into .mp3 file, I am using a .net library NAudio for conversion, I have tested everything in an asp.net we application, everything is working fine and now I want to copy the dlls into SharePoint web part project. I had few issues, for example assemblies were not signed, so I downloaded the source code and signed all assemblies, so these can be deployed in to GAC.
I have one dll (native dll) file which is not a deploy able into GAC, I can't add a reference in my sharepoint/asp.net project but just copied into BIN of my asp.net project and it worked. I am trying to find ways to copy that dll into GAC. I have tried manually copying that file into my sharepoint web applicaiton's bin folder but no success, I have used GAC util to copy in to GAC but getting errors,
Failure adding assembly to the cache: The module was expected to contain an as sembly manifest.
I have used visual studio interface to include external dlls into WSP file, but then solution deployment fails, showing error that dll cannot be found.
Update-SPSolution : Could not load file or assembly 'libmp3lame.64.dll' or one of its dependencies. The module was expected to contain an assembly manifest.
- Is there any way to copy this dll into GAC?
- I have copied this ddl manually into BIN of web applicaiton but why is it still not working?
- Is there any other library to convert wav file into mp3?
- Chrome and Edge don't play my .wav files, so i decided to convert them into .mp3 files, if any other format can do the job, I am open for this option.
Update : Copying few assemblies in to GAC and other dependent assemblies in BIN folder does not work. Once I copy all assemblies NAudio related assemblies into BIN folder, it started working but assemblies must be signed otherwise I was getting build errors.
I got another warning after updating my package to copy assemblies into Bin folder
The solution "xyz.wsp" is installing assemblies into the bin directory. The bin directory is deprecated and assemblies installed into it are no longer partially trusted, they are granted full trust. This solution should be updated to install its assemblies into the Global Assembly Cache (GAC) instead. If you fully trust this solution, and want to continue installing it into the obsolete bin directory, specify the -FullTrustBinDeployment parameter to suppress this warning.
I fixed this after adding -FullTrustBinDeployment parameter with solution ADD and Upgrade command.