2016-11-07 1 views
0

J'utilise NAudio (1.7.3.0) et NAudio.lame (1.0.3.3048) pour convertir Wav en format audio Mp3.NAudio Strong Name Problème

Mon code (assembly appelant) est fortement nommé, VS2015 se plaint que les dlls Naudio/NAudioLame doivent être fortement nommés aussi, donc j'ai chanté Naudio dlls avec un nom fort. maintenant Unfortunatley Je suis erreur de construction en tant que

Note: J'ai fortement nommé les deux DLL (Naudio).

Voici le code.

try 
      { 
  
       string filePath = @"D:\Lame\Wav\25mb.wav"; 
       string outputPath = @"D:\Lame\mp3\25mb.mp3"; 

       using (WaveFileReader wavReader = new WaveFileReader(filePath)) 
       using (WaveStream pcm = WaveFormatConversionStream.CreatePcmStream(wavReader)) 
       using (LameMP3FileWriter fileWriter = new LameMP3FileWriter(outputPath, pcm.WaveFormat, LAMEPreset.VBR_90)) 
       { 
        pcm.CopyTo(fileWriter); 
       } 

       MessageBox.Show("Converted !"); 
      } 
      catch (Exception ex) 
      { 
  
       MessageBox.Show(ex.Message); 
      } 

erreur de construction sur: LameMP3FileWriter (OutputPath, pcm.WaveFormat, LAMEPreset.VBR_90)

Erreur: Le type 'WAVEFORMAT' est définie dans un assemblage qui ne sont pas référencés. Vous devez ajouter une référence à l'assembly 'NAudio, Version = 1.7.3.0, Culture = neutre, PublicKeyToken = null.

Toute aide est appréciée!

+0

Le même code fonctionne avec succès si l'ensemble d'appel et NAudio est pas fortement nommé . – srieen

Répondre

0

Vous devez construire votre nom fort NAudio d'abord, et puis quand vous construisez NAudio.Lame, assurez-vous qu'il fait référence à votre nom fort dll NAudio

+0

Mark, im utilisant pakages Nuget, voulez-vous dire de télécharger le code et signer l'assemblage? NAudio et Lame suivant? – srieen