如何在 WinUI 3 中从 C# 调用 Powershell 函数

2024-02-27

我正在尝试调用 PowerShell 脚本文件中的函数。我在用WinUI 3。我在调试器输出中得到难以理解的输出,并且 PowerShell 脚本似乎根本没有执行。我已验证当我直接从 PowerShell 运行 PowerShell 脚本(或直接在 Visual Studio 中启动它)时,PowerShell 脚本可以正确运行。

下面的C#代码用于调用该函数Setup-Workspaces在 PowerShell 脚本中。请注意,数据类型workspace.Name is string。这是基于在这里回答 https://stackoverflow.com/questions/4179351/calling-powershell-functions-from-c-sharp.

/// <summary>
/// Launches the given workspace using the given powershell script.
/// </summary>
/// <param name="script"></param>
/// <param name="workspace"></param>
internal static void LaunchWorkspace(string script, Workspace workspace)
{
    using (PowerShell powerShell = PowerShell.Create())
    {
        // Add the script to run from.
        powerShell.AddScript(script, false);

        powerShell.Invoke();

        powerShell.Commands.Clear();

        // Add the command in the script to run.
        powerShell.AddCommand("Setup-Workspaces").AddParameter("WorkspaceName", workspace.Name);

        // Execute the command from the script.
        var results = powerShell.Invoke();
        //System.Diagnostics.Debug.WriteLine("Stuff happened");
        //System.Diagnostics.Debug.WriteLine("THE SCRIPT\n\n\n");
    }
}

以下是从 PowerShell 脚本调用的函数。请注意,编写该函数时只需要提供两个参数之一。我已经验证了在独立于 C# 代码运行此脚本时该方法有效。

function Setup-Workspaces {
    # Define the parameter.
    param (
        $Workspaces, $WorkspaceName
    )

    Write-Host ("Setup-Workspaces called... ")

    # ... rest of function here
}

The Write-Host输出永远不会出现在调试器输出窗口中...所以我认为这意味着该函数根本没有运行。

我在调试器窗口中得到的输出(省略了大部分内容,它们是一堆“LOADED”语句:

onecore\com\combase\objact\objact.cxx(4080)\combase.dll!00007FFB6A405105: (caller: 00007FFB6A401B12) ReturnHr(4) tid(9874) 80040154 Class not registered
onecore\net\netprofiles\service\src\nsp\dll\namespaceserviceprovider.cpp(550)\nlansp_c.dll!00007FFB242CC759: (caller: 00007FFB6A04388E) LogHr(1) tid(ea84) 8007277C No such service is known. The service cannot be found in the specified name space.
onecore\printscan\appxpackaging\signing\src\appxsip.cpp(612)\AppxSip.dll!00007FFA8490183C: (caller: 00007FFB69582C5A) ReturnHr(1) tid(ea84) 80070032 The request is not supported.
onecore\printscan\appxpackaging\signing\src\appxbundlesip.cpp(693)\AppxSip.dll!00007FFA84901327: (caller: 00007FFB69582C5A) ReturnHr(2) tid(ea84) 80070032 The request is not supported.

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 WinUI 3 中从 C# 调用 Powershell 函数 的相关文章

  • 将复选框添加到 UniformGrid

    我正在尝试将复选框动态添加到 wpf 中的统一网格中 但看起来网格没有为它们分配足够的空间 所以它们都有点互相重叠 这就是我将它们添加到后面的代码中的方法 foreach string folder in subfolders PathCh
  • 无法使用已与其底层 RCW 分离的 COM 对象。在 oledb 中

    我收到此错误 但我不知道我做错了什么 下面的代码在backrgroundworker中 将异常详细信息复制到剪贴板 System Runtime InteropServices InvalidComObjectException 未处理 通
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • 如何避免情绪低落?

    我有一个实现状态模式每个状态处理从事件队列获取的事件 根据State因此类有一个纯虚方法void handleEvent const Event 事件继承基础Event类 但每个事件都包含其可以是不同类型的数据 例如 int string
  • 将布尔参数传递给 SQL Server 存储过程

    我早些时候问过这个问题 我以为我找到了问题所在 但我没有 我在将布尔参数传递给存储过程时遇到问题 这是我的 C 代码 public bool upload false protected void showDate object sende
  • 为什么#pragma optimize("", off)

    我正在审查一个 C MFC 项目 在某些文件的开头有这样一行 pragma optimize off 我知道这会关闭所有以下功能的优化 但这样做的动机通常是什么 我专门使用它来在一组特定代码中获得更好的调试信息 并在优化的情况下编译应用程序
  • 如何将图像和 POST 数据上传到 Azure 移动服务 ApiController 终结点?

    我正在尝试上传图片and POST表单数据 尽管理想情况下我希望它是json 到我的端点Azure 移动服务应用 我有ApiController method HttpPost Route api upload databaseId sea
  • C#:如何防止主窗体过早显示

    在我的 main 方法中 我像往常一样启动主窗体 Application EnableVisualStyles Application SetCompatibleTextRenderingDefault false Application
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • 从路径中获取文件夹名称

    我有一些路c server folderName1 another name something another folder 我如何从那里提取最后一个文件夹名称 我尝试了几件事 但没有成功 我只是不想寻找最后的 然后就去休息了 Thank
  • 如何衡量两个字符串之间的相似度? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定两个字符串text1 and text2 public SOMEUSABLERETURNTYPE Compare string t
  • 如何将单个 char 转换为 int [重复]

    这个问题在这里已经有答案了 我有一串数字 例如 123456789 我需要提取它们中的每一个以在计算中使用它们 我当然可以通过索引访问每个字符 但是如何将其转换为 int 我研究过 atoi 但它需要一个字符串作为参数 因此 我必须将每个字
  • 当操作繁忙时,表单不执行任何操作(冻结)

    我有一个使用 C 的 WinForms 应用程序 我尝试从文件中读取一些数据并将其插入数据表中 当此操作很忙时 我的表单冻结并且无法移动它 有谁知道我该如何解决这个问题 这可能是因为您在 UI 线程上执行了操作 将文件和数据库操作移至另一个
  • 如何在 VBA 中声明接受 XlfOper (LPXLOPER) 类型参数的函数?

    我在之前的回答里发现了问题 https stackoverflow com q 19325258 159684一种无需注册即可调用 C xll 中定义的函数的方法 我之前使用 XLW 提供的注册基础结构 并且使用 XlfOper 类型在 V
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • 如何让Gtk+窗口背景透明?

    我想让 Gtk 窗口的背景透明 以便只有窗口中的小部件可见 我找到了一些教程 http mikehearn wordpress com 2006 03 26 gtk windows with alpha channels https web
  • 在 Dynamics CRM 插件中访问电子邮件发件人地址

    我正在编写一个 Dynamics CRM 2011 插件 该插件挂钩到电子邮件实体的更新后事件 阶段 40 pipeline http msdn microsoft com en us library gg327941 aspx 并且在此阶
  • C 中的异或运算符

    在进行按位操作时 我在确定何时使用 XOR 运算符时遇到一些困难 按位与和或非常简单 当您想要屏蔽位时 请使用按位 AND 常见用例是 IP 寻址和子网掩码 当您想要打开位时 请使用包含或 然而 XOR 总是让我明白 我觉得如果在面试中被问

随机推荐

  • Teams 中的 QnA Maker Bot 格式问题

    我们使用 QnA Maker 知识库实现了一个简单的 Azure 机器人 并启用了 Teams 通道 在 webChat 中 Markdown 格式渲染得很好 然而 在 Teams 中 Markdown 格式并不总是按预期工作 如果答案中没
  • 区域多边形未显示在 ggplot2 Choropleth 地图中

    我正在尝试使用 ggplot2 绘制非常基本的地图 我不明白为什么彩色多边形不会显示 看来我的代码与我在许多教程和本网站上已经回答的问题中找到的代码没有什么不同 我认为这可能来自我准备数据的方式 参见下面的 100 可重复示例 librar
  • clflush 不刷新指令缓存

    考虑以下代码段 include
  • readonly 关键字不会使 List<> 成为只读?

    我在公共静态类中有以下代码 public static class MyList public static readonly SortedList
  • read_sql_query() 使用 SQLAlchemy 2.0.0 抛出“'OptionEngine'对象没有属性'execute'”

    首先 我是开发界的一个全新的人 我目前正在学习人工智能 数据科学课程 我的工作之一是使用 SQL 数据库使用 Prophet 进行预测 然后使用这些预测来制作 PowerBI 但目前 我被Python代码困住了 我最初不是开发人员 所以我不
  • 为什么 debug.getinfo(1) 的 'name' 为 nil

    我正在尝试构建一个 lua 测试框架 让您知道有问题的函数 但是当我从 loadstring 切换到 G 我进行了切换 以便我的测试工具可以看到函数调用的结果 我的函数开始使用 nil 作为函数名称 Why can G在下面的代码中没有检测
  • 静态嵌套类作为泛型类型绑定不起作用

    File 抽象容器 java package container import static container AbstractContainer public abstract class AbstractContainer
  • 将键盘输入法更改为unicode?

    我将创建一个名为 高棉键盘输入法 的应用程序 高棉语只是采用 unicode 标准 范围 1780 17FF 参考http www unicode org charts PDF U1780 pdf http www unicode org
  • 进度条前景色

    有谁知道如何更改 WPF 进度条的前景色 它似乎总是与绿色融为一体 试试这个
  • Laravel - 需要服务提供商中的 php 脚本

    我对 Laravel 很陌生 并使用以下方法为我的辅助功能实现了服务提供者这个答案 https stackoverflow com a 32422699 4171578 on SO 它建议 in the register你新生成的函数 He
  • 是否可以在 .NET Core 3.1/5 WPF 项目中使用源生成器?

    我有一个项目 使用代码生成器自动提供INotifyPropertyChanged对字段的支持 项目中的某些类实现了一个接口 该接口具有一些应该由实现类的源生成器生成的属性 现在 在编辑这些类中的任何一个时 Visual Studio 不会显
  • 模糊匹配两个数据框

    我想合并两个数据框 df1 和 df2 df1 lt tibble x c FIDELITY FREEDOM 2015 FUND VANGUARD WELLESLEY INCOME FUND y c 1 2 df2 lt tibble x
  • 通过 Gmail 发送电子邮件的属性

    我目前正在编写一个简单的程序 通过 gmail 将电子邮件发送到 gmail 帐户 尝试了各种方法 但经常遇到同样的错误 无法连接到 SMTP 主机 smtp gmail com 端口 587 和属性设置有没有关系 这是我的程序的片段 正在
  • Rails 3.1 需要在索引页面上进行就地编辑

    我有一个带有自由格式评论字段的索引页 Comment 字段是另一个不相关的模型的一部分 长话短说 一部分是我 一部分是用户 我需要弄清楚的是用什么来做到这一点 我遇到了 Best In Place 的问题 here https stacko
  • 直接从vim编译

    我想编译 cpp 文件而不关闭 vi 我知道 g 文件 cpp但是我更喜欢 make所以我在 vimrc 文件中添加了这一行 au 文件类型 C 设置 makeprg gcc au 文件类型 Cpp 设置 makeprg g 但我不断得到
  • MySQL/PostgreSQL中IN关键字的速度

    我听到很多人说IN大多数关系数据库中的关键字速度很慢 这有多真实 一个示例查询是这样的 我的脑海中浮现出这样的查询 SELECT FROM someTable WHERE someColumn IN value1 value2 value3
  • Zend框架装饰器问题

    我需要在输入字段之前和之后添加一些带有文本的随机 html 内容 我知道我可以使用描述装饰器并将转义选项设置为 false 这样我可以简单地注入任意 html 块作为装饰器 但这只占 1 个 html 块 我需要在输入字段后添加第二个块 如
  • Appmaker组访问权限供开发人员将组添加到角色

    我在这篇文章中找到了一些有用的信息 将 google 群组添加到角色 https stackoverflow com questions 49573392 adding google groups to roles 51430901 514
  • 如何检查字典是否是另一个复杂字典的子集

    我需要验证另一个字典是否是另一个字典的子集 有一个技巧 在这些字典中有字典数组 超集 dct 1 x x y t 123 a a subset dict 2 x x y t 123 from 检查字典是否是另一个字典的子集的递归函数 htt
  • 如何在 WinUI 3 中从 C# 调用 Powershell 函数

    我正在尝试调用 PowerShell 脚本文件中的函数 我在用WinUI 3 我在调试器输出中得到难以理解的输出 并且 PowerShell 脚本似乎根本没有执行 我已验证当我直接从 PowerShell 运行 PowerShell 脚本