2017-06-20 83 views
1

最近Visual StudioでC#でPowershellコマンドレットを作成する方法を学び始めました。 Visual Studio 2013でPowershellコマンドレットを作成しようとしているときに、このエラーが発生します。これはPowershellを閉じて自分のコードを作成し、Powershellを再び開くように強制します。これはかなり面倒です。空のスクリプトでもこれが行われるため、ほとんどの場合、コードの失敗ではありません。誰もがこの問題を回避する方法を知っていますか?アドバイスを事前に感謝します。Powershellコマンドレット:プロセスが別のプロセスで使用されているため、プロセスが罰金にアクセスできない

Powershellのバージョンは.NET 4でv3です。バージョン番号は問題ではありません。この作業にはこれらの特定のバージョンが必要です。

+2

これは正常な動作です。モジュールのdllファイルをPowershellにロードしているので、ファイルは変更からロックされます。 PowerShellの実行中にモジュールを削除または変更し、そこから関数を使用しようとすると(クラッシュする)、何が起きるかどうか、想像してみてください。プラスとして、あなたのモジュールがロードされているPowerShellのインスタンスを閉じるだけです。 – bluuf

答えて

0

これは意図した目的であるように見えます、ありがとう@bluuf。

powershell -NoExit -Command "<whatever you want to execute in the new shell> ; <you can do multiple like this>" 

あなたは

exit 

を使用する場合、それはあなたが持っていたオリジナルのシェルを残して、あなたが輸入シェルを閉じます:行うための最善のことはそうのような新しいターミナルを起動しているように見えます長いコマンドを入力します。上向き矢印を押すだけで、そのコマンドが再びポップアップして再利用できる状態になります。もう一度それを打ち込むよりはるかに良い。

-1

PowerShellスクリプト/コマンドレットを作成してpowershell_iseを使用することをお勧めします。それはv3.0 +でintellisenseを持っており、文字通り仕事のために作られています。

+1

C#でのコマンドレットの構築は、Powershellの書き込み機能とはまったく異なります。私は両方とも定期的にやっています。 – bluuf

関連する問題