在WinForms项目中包括64位纯程序集

问题描述 投票:0回答:2

我们有一个很大的WinForms应用程序,我们不会很快重写它(例如在WPF中)。 Microsoft继续积极支持Winforms。

我们通常将Winforms构建配置设置为AnyCPU进行开发,而部署它的MSBuild进程会将其构建为64位。由于众所周知的问题,即如果应用程序是64位构建的,Winforms的Visual Designer无法工作,所以将开发配置设置为AnyCPU。来回切换以进行UX设计并不是很痛苦。但是,我们现在遇到了一个问题,我们希望在WinForms应用程序中包含Microsoft.CognitiveServices.Speech的NuGet程序包。该程序集需要64位,并且如果应用程序设置为AnyCPU,则将出现编译器错误。这消除了我们切换到AnyCPU进行UX设计的能力。

我们可以采取的一种解决方法是,我们使用的旧版本Microsoft.CogitiveServices.Speech允许AnyCPU,但是该版本不再通过NuGet提供,因此我们必须将该程序包检查到源代码控制中(( )。

有什么我可以做的以允许WinForms应用程序保持设置为AnyCPU,但是引用一个显然只需要64位的程序集吗?

.net winforms 64-bit anycpu
2个回答
0
投票

正如我所评论的,VS2017中显示的编译器错误是间歇性的,当它出现时,错误列表中没有错误代码。该错误显示为“ Microsoft.CogitiveServices.Speech不支持AnyCPU”,或接近该错误。由于我无法可靠地复制它,因此我不会麻烦任何人寻求答案。


0
投票

The snapshot shows what I see in VS 2017. Mystery error which makes the compile fail, sometimes!!快照显示了我在VS 2017中看到的内容。神秘错误有时会导致编译失败!

© www.soinside.com 2019 - 2024. All rights reserved.