使用C#和Powershell项目构建Visual Studio解决方案

时间:2017-04-28 17:40:44

标签: c# powershell visual-studio-2015

Visual Studio 2015

VS newb。我有许多PS脚本,我想迁移到C#解决方案。解决方案理论上会做东西,然后按下按钮或其他触发器,运行Powrshell脚本。

问题在于,当我添加这两个项目时,我不知道如何从C#端访问PS脚本。我尝试将PS项目添加到解决方案,然后添加一个引用。但是当我尝试构建时(即使使用空白的PS脚本),我收到错误" CS0006元数据文件' MyPath \ PSTest \ bin \ Debug \ MyApplication.exe找不到"

甚至可以这样做吗?我想要的只是一个包含主要C#项目和Powershell项目的解决方案,我可以编辑和使用C#端的这些脚本。

编辑:不要真的只想从C#环境中调用一些脚本。我想在解决方案中添加一个Powershell项目,并从那里进一步开发Powershell脚本,并在C#中创建将使用Powershell项目的新应用程序。

2 个答案:

答案 0 :(得分:1)

我会提供几个类似的选择。

选项1,类似于GibralterTop的答案,是将PS脚本放在C#项目中。

  1. 右键单击项目,然后选择"添加文件夹"创造一个 名为" Scripts"。
  2. 的文件夹
  3. 将您的脚本添加到此文件夹。
  4. 在解决方案资源管理器中选择所有脚本。在文件中 属性,设置"复制到输出目录"选项"复制if 较新的"
  5. 当你的程序运行时,它将能够在

    中找到脚本
    Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Scripts")
    

    选项2类似,但您可以保留PowerShell脚本项目。

    1. 将您的脚本放入PowerShell脚本项目中。
    2. 创建一个名为" Scripts"的文件夹。在你的C#项目中。
    3. 在“脚本”文件夹中选择“添加现有项目”。
    4. 浏览到PowerShell项目并选择脚本。 而不是单击添加按钮,单击向下箭头 它的权利,并选择"添加为链接"。
    5. 选择C#项目中的链接并设置"复制到输出 目录"选项"复制如果更新"。
    6. 如果添加任何新的PS脚本,则需要重复添加链接的步骤。

      最终,您可能会构建一个安装程序。您需要将脚本放在相同的相对位置; a" Scripts"安装文件夹下的文件夹。

答案 1 :(得分:0)

如果右键单击VS中的C#项目,在上下文菜单中,您将看到"添加"。将鼠标悬停在"添加",您将看到"现有项目"然后单击它。

Shift + Alt + A是上述步骤的快捷方式。

导航到.ps文件所在的位置并将其打开。 .ps文件现在将在您的C#项目中。

然后,您需要查找如何执行Powershell文件并引用相对路径。