Scripting 如何使用UWP类库编写脚本?

Scripting 如何使用UWP类库编写脚本?,scripting,uwp,windows-10,Scripting,Uwp,Windows 10,我有一个UWP类库项目(用C#编写),其中包含一些有用的实用程序类和函数。我想创建一个使用这些类和函数并每天自动运行几次的脚本。实现这一目标的最佳方式是什么 我应该创建一个应用程序吗?如果是这样,我怎样才能让它每天运行几次 我应该创建一个经典的控制台exe程序并使用脚本运行它吗?如果是,控制台应用程序可以使用UWP类库吗 我应该使用后台任务创建Windows运行时组件吗 或者其他解决方案?假设您对“脚本”的定义可以延伸到“运行应用程序”,那么您可以做很多事情。如果您希望看到更传统的脚本,那么最好

我有一个UWP类库项目(用C#编写),其中包含一些有用的实用程序类和函数。我想创建一个使用这些类和函数并每天自动运行几次的脚本。实现这一目标的最佳方式是什么

我应该创建一个应用程序吗?如果是这样,我怎样才能让它每天运行几次

我应该创建一个经典的控制台exe程序并使用脚本运行它吗?如果是,控制台应用程序可以使用UWP类库吗

我应该使用后台任务创建Windows运行时组件吗


或者其他解决方案?

假设您对“脚本”的定义可以延伸到“运行应用程序”,那么您可以做很多事情。如果您希望看到更传统的脚本,那么最好在标准的.Net类库(不是UWP类库)中编译代码,然后从PowerShell脚本调用它。如果你可以运行应用程序,那么有几个选项,最合适的选项可能取决于它们运行的设备、你希望它们运行的频率以及它们的实际用途

当你谈论UWP应用时,我们应该允许它在不同的“设备系列”上运行。在不同设备(桌面和电话等)上运行的最简单方法是定期执行后台任务。在您定义的时间间隔内,它将尝试运行。受连接、电源等的限制

因为你说控制台应用是一种选择,那么你可能真的只对桌面/PC环境感兴趣。那是有最多选择的地方

首先,如果您的代码使用UWP/Win10特定的API,那么在不更改代码的情况下,可能无法编译到控制台应用程序中。我做了很多像你在问题中描述的事情,并为此使用了控制台应用程序,因为我发现它们是最容易使用的

如果你要改变代码,考虑移动到使用便携式类库,然后你就可以链接到来自许多不同类型的应用程序的代码——包括传统的桌面和UWP应用程序。 我会避免创建运行时组件,除非你真的需要,因为有很多潜在的陷阱

您可以从任务调度器运行任何应用程序,但启动UWP应用程序很棘手

通过将任务的操作设置为exe,可以启动常规应用程序或脚本。(或exe并将脚本文件作为参数传递。)

商店中的应用程序没有EXE,您可以直接启动,因此您需要做更多的工作。它们只能由Windows Shell启动。但幸运的是,有一种方法可以做到这一点。让您的任务启动explorer.exe(您将在C:\Windows中找到它),然后添加参数
shell:AppsFolder\[app PFN]!应用程序

其中
[app PFN]
是应用程序的产品系列名称。通过查看“C:\Users[username]\AppData\Local\Packages\”可以找到计算机上所有已安装应用的值

所以,你可以用它来启动商店应用程序

shell:AppsFolder\Microsoft.WindowsStore_8wekyb3d8bbwe!App