【问题标题】:How to use System.Windows.Forms.SendKeys in .NET Standard 2.0 [closed]如何在 .NET Standard 2.0 中使用 System.Windows.Forms.SendKeys [关闭]
【发布时间】:2021-08-21 17:47:02
【问题描述】:
我正在.NET Standard 2.0 中开发一个类库,它应该使用按键来控制其他一些应用程序。我需要在 .NET Standard 2.0 中编写库,因为我有两个将使用该库的客户端应用程序,一个在 .NET Framework 4.8 中,一个在 .NET 5 中,它们都支持 System.Windows.Forms.SendKeys。
解决这个问题的正确方法是什么?
【问题讨论】:
标签:
c#
.net
winforms
.net-standard-2.0
【解决方案1】:
如果您必须(而且很难到达这里),请使用反射定位类 System.Windows.Forms.SendKeys 并调用调用。
最有可能的是,您最好使用<targetframeworks> 为net40(或.net48 可能无关紧要)和netcoreapp3.0 进行构建。应该是这样的
<propertygroup>
...
<targetframeworks>netcoreapp3.0;net40</targetframeworks>
</propertygroup>
调用者选择正确的 dll 并且它可以工作。
现在是最难的部分;您仍然可以在没有实现的情况下创建针对 netstandard2.0 的参考 dll,并且派生包仍然可以解析;但最终的可执行文件必须是这两个(或更新的)之一,否则它将无法运行。