PowerShell PSCmdlet无法找到我的程序集

时间:2015-05-12 15:37:01

标签: c#-4.0 powershell-v3.0 cmdlets

我在c#中编写了一个PowerShell Cmdlet并遇到了问题。当我运行它时,我得到一个错误,说它无法找到代码所需的程序集之一。我使用fuslogvw来获取它正在尝试加载的程序集的转储,并且它正在查找错误的位置。程序集都在bin文件夹中,但它首先在PowerShell文件夹中查找,然后在psd1文件所在的文件夹中查找。有什么我可以在配置或其他地方添加,可以帮助这看起来在正确的文件夹中。所需的程序集不在GAC中,并且将它们放在那里并不是真正的选择。

-------编辑-----

当我说我运行Cmdlet时,我的意思是在项目的Debug选项中设置命令行参数。

"启动外部程序"设置为:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

参数设置为:

-noexit -ExecutionPolicy Unrestricted -command "& { import-module .\psModules\MyTestCmdlet }"

psd1文件位于名为psModules的projects子文件夹中,Cmdlet所需的程序集位于bin文件夹中。当我在visual studio中调试Cmdlet时,Powershell会在powershell文件夹和项目文件夹的根目录中查找。

我感觉这是一个与项目结构方式有关的问题。

0 个答案:

没有答案