2011-04-08 111 views
12

我有一个类似于反射器问题的问题,除了我没有安装Reflector插件,并且仍然无法启动NuGet控制台。我在Windows 7 Professional,VS 2010 SP1上运行。NuGet无法加载PowerShell

Nuget通过GUI工作正常,但是例如,我不能在没有控制台的情况下安装* .vsdoc文件。

了以下错误:

The following error occurred while loading the extended type data file: Microsoft.PowerShell.Core, C:\Windows\SysWOW64\WindowsPowerShell\v1.0\types.ps1xml(2943) : Error in type "System.Security.AccessControl.ObjectSecurity": Exception: Cannot convert the "Microsoft.PowerShell.Commands.SecurityDescriptorCommandsBase" value of type "System.String" to type "System.Type". 
The following error occurred while loading the extended type data file: Microsoft.PowerShell.Core, C:\Windows\SysWOW64\WindowsPowerShell\v1.0\types.ps1xml(2950) : Error in type "System.Security.AccessControl.ObjectSecurity": Exception: Cannot convert the "Microsoft.PowerShell.Commands.SecurityDescriptorCommandsBase" value of type "System.String" to type "System.Type". 
The following error occurred while loading the extended type data file: Microsoft.PowerShell.Core, C:\Windows\SysWOW64\WindowsPowerShell\v1.0\types.ps1xml(2957) : Error in type "System.Security.AccessControl.ObjectSecurity": Exception: Cannot convert the "Microsoft.PowerShell.Commands.SecurityDescriptorCommandsBase" value of type "System.String" to type "System.Type". 
The following error occurred while loading the extended type data file: Microsoft.PowerShell.Core, C:\Windows\SysWOW64\WindowsPowerShell\v1.0\types.ps1xml(2964) : Error in type "System.Security.AccessControl.ObjectSecurity": Exception: Cannot convert the "Microsoft.PowerShell.Commands.SecurityDescriptorCommandsBase" value of type "System.String" to type "System.Type". 
The following error occurred while loading the extended type data file: Microsoft.PowerShell.Core, C:\Windows\SysWOW64\WindowsPowerShell\v1.0\types.ps1xml(2971) : Error in type "System.Security.AccessControl.ObjectSecurity": Exception: Cannot convert the "Microsoft.PowerShell.Commands.SecurityDescriptorCommandsBase" value of type "System.String" to type "System.Type". 
The following error occurred while loading the extended type data file: , C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\NuGet Package Manager\1.2.20325.9034\Scripts\NuGet.Types.ps1xml(9) : Error in type "System.__ComObject#{866311e6-c887-4143-9833-645f5b93f6f1}": Exception: Cannot convert the "NuGet.VisualStudio.ProjectExtensions" value of type "System.String" to type "System.Type". 
The following error occurred while loading the extended type data file: , C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\NuGet Package Manager\1.2.20325.9034\Scripts\NuGet.Types.ps1xml(33) : Error in type "Microsoft.VisualStudio.FSharp.ProjectSystem.Automation.OAProject": Exception: Cannot convert the "NuGet.VisualStudio.ProjectExtensions" value of type "System.String" to type "System.Type". 
System.Management.Automation.CmdletInvocationException: Could not load file or assembly 'Scripts\nuget.psm1' or one of its dependencies. The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG)) ---> System.IO.FileLoadException: Could not load file or assembly 'Scripts\nuget.psm1' or one of its dependencies. The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG)) ---> System.ArgumentException: Illegal characters in path. 
at System.IO.Path.CheckInvalidPathChars(String path) 
at System.IO.Path.Combine(String path1, String path2) 
at Microsoft.VisualStudio.Platform.VsAppDomainManager.<AssemblyPaths>d__1.MoveNext() 
at Microsoft.VisualStudio.Platform.VsAppDomainManager.InnerResolveHandler(String name) 
at Microsoft.VisualStudio.Platform.VsAppDomainManager.ResolveHandler(Object sender, ResolveEventArgs args) 
at System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName) 
--- End of inner exception stack trace --- 
at Microsoft.PowerShell.Commands.ModuleCmdletBase.LoadBinaryModule(Boolean trySnapInName, String moduleName, String fileName, Assembly assemblyToLoad, String moduleBase, SessionState ss, String prefix, Boolean loadTypes, Boolean loadFormats, Boolean& found) 
at Microsoft.PowerShell.Commands.ModuleCmdletBase.LoadModuleNamedInManifest(String moduleName, String moduleBase, Boolean searchModulePath, String prefix, SessionState ss, Boolean loadTypesFiles, Boolean loadFormatFiles, Boolean& found) 
at Microsoft.PowerShell.Commands.ModuleCmdletBase.LoadModuleManifest(ExternalScriptInfo scriptInfo, ManifestProcessingFlags manifestProcessingFlags, Version version) 
at Microsoft.PowerShell.Commands.ModuleCmdletBase.LoadModule(String fileName, String moduleBase, String prefix, SessionState ss, Boolean& found) 
at Microsoft.PowerShell.Commands.ImportModuleCommand.ProcessRecord() 
at System.Management.Automation.Cmdlet.DoProcessRecord() 
at System.Management.Automation.CommandProcessor.ProcessRecord() 
--- End of inner exception stack trace --- 
at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input) 
at System.Management.Automation.Runspaces.Pipeline.Invoke() 
at NuGetConsole.Host.PowerShell.Implementation.PowerShellHost.Invoke(String command, Object input, Boolean outputResults) 
at NuGetConsole.Host.PowerShell.Implementation.PowerShellHostExtensions.ImportModule(PowerShellHost host, String modulePath) 
at NuGetConsole.Host.PowerShell.Implementation.PowerShellHost.LoadStartupScripts() 
at NuGetConsole.Host.PowerShell.Implementation.PowerShellHost.Initialize() 
at NuGetConsole.Implementation.Console.ConsoleDispatcher.Start() 
at NuGetConsole.Implementation.PowerConsoleToolWindow.MoveFocus(FrameworkElement consolePane) 
+0

请参阅相关问题的答案:http://stackoverflow.com/questions/10457039/nuget-powershell-and-executionpolicy – 2014-07-09 10:36:56

回答

8

唯一可行的解​​决方案是在启动VS2010之前手动启动PowerShell。

所以如果任何人有这个问题,这是快速解决。

+0

令人难以置信的恼人的“功能”的PowerShell。我在“LocalMachine”范围内将策略设置为“绕过”,但我看到了这一点。在VS开始前运行PS,thx节省了我的时间 – galaktor 2012-07-16 09:36:25

2

的NuGet需要Powershell2才能正常工作。您可以从这里下载并安装:http://support.microsoft.com/kb/968929

+0

此外没有powershell 2请确保你使用的是最新版本的NuGet http://nuget.org/。 – davidfowl 2011-04-15 09:29:02

+0

是的,但错误消息是从PowerShell 1.0目录拉:) – 2011-04-15 15:33:39

+0

版本> 1.0的错误消息告诉你到底什么是错的:)。 – davidfowl 2011-04-16 00:19:22

0

启动powershell并没有帮助我。我发现这是一个已知的Nuget问题。您遇到此问题是因为您已安装并启用了红色门反射器加载项。如果您将Reflector更新为最新版本(> = 6.5),它应该可以工作。

请看看这个链接

http://nuget.codeplex.com/workitem/265

+0

没有安装Reflector插件。这是最初的问题。 :d – Drakche 2011-10-03 07:59:36

0

生产力电动工具是我的问题。 v12.0.30129.0我禁用了它 - 卸载没有必要 - 并与2013年再次工作