C# CSCore-不适用于特定设备

C# CSCore-不适用于特定设备,c#,cscore,C#,Cscore,我正在使用CScore播放mp3文件 首先,我在我的公共部分公共MMDevice SelfDevice上有这个 接下来,我使用以下代码获取默认播放设备:- MMDeviceEnumerator enumerator = new MMDeviceEnumerator(); SelfDevice = enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Console); 现在,selfDevice具有默认播放设备。 然后,我运行这个代码

我正在使用CScore播放mp3文件

首先,我在我的公共部分
公共MMDevice SelfDevice上有这个

接下来,我使用以下代码获取默认播放设备:-

MMDeviceEnumerator enumerator = new MMDeviceEnumerator();
SelfDevice = enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Console);
现在,
selfDevice
具有默认播放设备。 然后,我运行这个代码来播放mp3文件

 if (CSCore.SoundOut.WasapiOut.IsSupportedOnCurrentPlatform)

                _soundOutToSelf = new CSCore.SoundOut.WasapiOut() { Device = SelfDevice };
            else
                _soundOutToSelf = new DirectSoundOut();

            var source = CodecFactory.Instance.GetCodec(pathToMP3())
                .Loop()
                .ChangeSampleRate(32000)
                .ToSampleSource()
                .AppendSource(Equalizer.Create10BandEqualizer)
                .ToWaveSource();

            _soundOutToSelf.Initialize(source);

            _soundOutToSelf.Play();
            _soundOutToSelf.Volume = 1;
            MessageBox.Show(SelfDevice.FriendlyName);
它可以工作,但只有当我将HDMI音频设置为默认播放设备时,当我的扬声器处于默认状态时,它才会播放任何音乐,而且messagebox会返回正确的播放设备名称,因此设备变量没有问题。这里有什么问题

另外,我尝试创建一个新项目并在那里运行代码,它运行起来没有任何问题,所以我在项目运行时恢复到了旧版本,但现在它也不工作了。 我删除了调试文件夹,但问题仍然存在


编辑:我发现我可以通过更改程序的assemblyname来解决问题,但我仍然不知道为什么windows会阻止我的程序?

更改assemblyname或创建新项目可以解决问题,但仍然不知道真正的原因是什么