首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >清除powershell会话

清除powershell会话
EN

Stack Overflow用户
提问于 2010-12-10 06:12:34
回答 2查看 15K关注 0票数 16

是否有一个命令小程序可以清除我添加的当前powershell会话变量?

我正在使用Add-Type命令小程序,并且收到错误消息“无法添加类型。类型名称已存在”。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-10 09:27:20

不幸的是,您不能卸载已经加载到默认AppDomain中的.NET程序集,这正是Add-Type所做的。您可以重新命名类型或名称空间,但有时只需退出并重新启动PowerShell即可。

与其说这是PowerShell的限制,不如说它是.NET/CLR的限制。您可以将.NET程序集加载到单独的AppDomains中,稍后可以卸载这些程序集,但您必须自己编写代码,这会对您计划在单独的AppDomain中使用的类型施加限制。也就是说,这些类型需要通过.NET远程处理工作,因此它们要么必须从MarshByRefObject派生,要么必须是可序列化的(这适用于它们的属性引用的所有对象,依此类推)。

票数 8
EN

Stack Overflow用户

发布于 2013-02-14 07:17:50

一种可能的“变通办法”:打开powershell窗口,然后输入powershell .\yourScriptHere.ps1来运行脚本

这将启动一个新的powershell实例,该实例在脚本退出时退出。如果您想在新实例中“播放”,则将调用更改为powershell -NoExit .\yourScriptHere.ps1,当脚本完成时,新实例将不会退出。当您需要再次重新启动时,输入exit,然后按“向上箭头”键以获取上一个命令。所有脚本输出都将出现在同一窗口中。启动一个新的powershell实例的开销很低--在我的笔记本电脑上似乎不到1秒。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4403674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档