NAudio 强名称问题
Posted
技术标签:
【中文标题】NAudio 强名称问题【英文标题】:NAudio Strong Name Issue 【发布时间】:2016-11-07 15:08:37 【问题描述】:我正在使用 NAudio (1.7.3.0) 和 NAudio.lame (1.0.3.3048) 将 Wav 转换为 Mp3 音频格式。
我的代码(调用程序集)是强命名的,VS2015 抱怨 Naudio/NAudioLame dll 也应该被强命名,所以我确实用强名称唱了 Naudio dll。现在不幸的是,我正在构建错误
注意:我强烈命名了两个(Naudio)dll。
这里是代码。
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);
构建错误:LameMP3FileWriter(outputPath, pcm.WaveFormat, LAMEPreset.VBR_90)
错误:“WaveFormat”类型是在未引用的程序集中定义的。您必须添加对程序集 'NAudio, Version=1.7.3.0, Culture=neutral, PublicKeyToken=null 的引用。
感谢您的帮助!
【问题讨论】:
如果调用程序集和 NAudio 不是强命名的,则相同的代码可以成功运行。 【参考方案1】:您需要先构建强命名的 NAudio,然后在构建 NAudio.Lame 时,确保它引用了您的强命名的 NAudio dll
【讨论】:
马克,我正在使用 Nuget 包,您的意思是下载代码并签署程序集吗? NAudio 和 Lame 下一个?以上是关于NAudio 强名称问题的主要内容,如果未能解决你的问题,请参考以下文章