0

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

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

我们可以做的一种解决方法是,我们有一个旧版本的 Microsoft.CogitiveServices.Speech,它确实允许 AnyCPU,但该版本不再通过 NuGet 提供,因此我们必须将包检查到源代码控制中(糟糕)。

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

4

2 回答 2

0

快照显示了我在 VS 2017 中看到的内容。有时会导致编译失败的神秘错误! 快照显示了我在 VS 2017 中看到的内容。有时会导致编译失败的神秘错误!

于 2020-05-21T16:22:40.763 回答
0

正如我评论的那样,VS2017 中出现的编译器错误是间歇性的,当它出现时Errors list 中没有 Error Code。该错误显示“Microsoft.CogitiveServices.Speech 不支持 AnyCPU”,或接近该错误。因为我不能可靠地复制它,所以在我能做到之前,我不会麻烦任何人寻求答案。

于 2020-05-20T17:58:28.520 回答