项目

时间:2015-11-04 10:50:40

标签: c# powershell dll

我创建了一个.dll PSCmdlet.dll我创建了一个NuGet包。NuGet但是当我将.dll包添加到项目中时,我必须在命令运行之前手动导入NuGet。如何在我添加PSCmdlet包的同一项目中自动导入我的模块?

[Cmdlet(VerbsCommon.Get, "DemoNames")] public class Get_DemoNames : PSCmdlet { [Parameter(Position = 0, Mandatory = false)] public string prefix; protected override void ProcessRecord() { var names = new[] { "Chris", "Charlie", "Isaac", "Simon" }; if (string.IsNullOrEmpty(prefix)) { WriteObject(names, true); } else { var prefixed_names = names.Select(n => prefix + n); WriteObject(prefixed_names, true); } } }

NuGet

手动导入模块之前的VS Package Manager控制台

  

PM> DemoNames

     

术语' DemoNames'不被识别为a的名称   cmdlet,函数,脚本文件或可操作程序。检查拼写   的名称,或者如果包含路径,验证路径是什么   正确,然后再试一次。在行:1 char:10   + DemoNames<<<<       + CategoryInfo:ObjectNotFound:(DemoNames:String)[],CommandNotFoundException       + FullyQualifiedErrorId:CommandNotFoundException

手动导入模块后,

VS Package Manager控制台

  

PM>导入模块C:\ projects \ ef2idbs \ EF.XML \ bin \ Debug \ EF.XML.dll

     

PM> DemoNames

     

克里斯

     

查理

     

艾萨克

     

西蒙

我的NuGet Package Explorer包是使用.dll创建的,具有以下结构:

  

LIB

     

-EF.XML.dll

注意:导出的.dlllib文件夹中的NuGet是同一个文件。

将一个install.ps1文件添加到我的EF.XML.dll包,将$profile文件移动到add()目录,以便自动加载.dll是不是一个好主意?

0 个答案:

没有答案