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项目的新应用程序。
答案 0 :(得分:1)
我会提供几个类似的选择。
选项1,类似于GibralterTop的答案,是将PS脚本放在C#项目中。
当你的程序运行时,它将能够在
中找到脚本Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Scripts")
选项2类似,但您可以保留PowerShell脚本项目。
如果添加任何新的PS脚本,则需要重复添加链接的步骤。
最终,您可能会构建一个安装程序。您需要将脚本放在相同的相对位置; a" Scripts"安装文件夹下的文件夹。
答案 1 :(得分:0)
如果右键单击VS中的C#项目,在上下文菜单中,您将看到"添加"。将鼠标悬停在"添加",您将看到"现有项目"然后单击它。
Shift + Alt + A
是上述步骤的快捷方式。
导航到.ps
文件所在的位置并将其打开。 .ps
文件现在将在您的C#项目中。
然后,您需要查找如何执行Powershell文件并引用相对路径。