我在特定的PC上使用NuGet已经有一段时间了.现在,我在VS2010中创建了一个新项目(如果重要的话,它是使用单页应用程序模板的MVC 4 Beta项目).当我选择
工具/库包管理器/包管理器控制台
控制台窗口打开但显示错误:
无法加载文件C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\NuGet Package Manager\1.7.30402.9028\Modules\NuGet\profile.ps1,因为禁用了脚本的执行这个系统.有关详细信息,请参阅"get-help about_signing".
但是,其他项目仍可以打开并使用Package Manager控制台.
在每种情况下,VS2010都以同一用户身份运行.
如果我打开命令提示符(使用运行VS2010的同一帐户),请启动PowerShell,然后输入命令
GET-ExecutionPolicy
PowerShell返回
受限
我基于Scott Hanselman博客的理解是,如果ExecutionPolicy受到限制,脚本根本不应该运行.
为什么现有项目能够使用包管理器控制台,而新的项目不能?
更新:将ExecutionPolicy更改为AllSigned 并重新启动VS2010解决了当前的问题,但我的主要问题是为什么其他项目能够绕过已建立的ExecutionPolicy.VS2010 未以管理员身份运行.
在Visual Studio 2015 Professional中打开我的项目时,我的所有视图(*.cshtml)中都存在以下错误(以及更多错误).
错误CS0246找不到类型或命名空间名称"System"(您是否缺少using指令或程序集引用?)严重性代码说明项目文件行
错误CS0518未定义或导入预定义类型"System.Object"严重性代码描述项目文件行
错误CS0518未定义或导入预定义类型"System.String"
我得到了这些参考:
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Sitecore.Kernel, Version=7.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>N:\XXX\Sitecore.Kernel.dll</HintPath>
</Reference>
<Reference Include="Sitecore.Mvc">
<HintPath>N:\XXX\Sitecore.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>N:\XXX\System.Web.Helpers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>N:\XXX\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.Providers">
<HintPath>N:\XXX\System.Web.Providers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> …Run Code Online (Sandbox Code Playgroud) 我在尝试从Windows 7升级之前运行托管的PowerShell脚本时遇到以下错误我从未遇到此错误.
在加载扩展类型数据文件时出现以下错误:Microsoft.PowerShell.Core,C:\ WINDOWS\Syswow64资料\ WindowsPowerShell\V1.0\types.ps1xml(2977):在输入 "System.Security.AccessControl.ObjectSecurity" 错误:异常:getter方法应该是public,non void,static,并且有一个PSObject类型的参数.Microsoft.PowerShell.Core,C:\ Windows\SysWOW64\WindowsPowerShell\v1.0\types.ps1xml(2984):类型"System.Security.AccessControl.ObjectSecurity"出错:异常:getter方法应该是public,非void ,static,并且有一个PSObject类型的参数.Microsoft.PowerShell.Core,C:\ Windows\SysWOW64\WindowsPowerShell\v1.0\types.ps1xml(2991):类型"System.Security.AccessControl.ObjectSecurity"出错:异常:getter方法应该是公共的,非void ,static,并且有一个PSObject类型的参数.Microsoft.PowerShell.Core,C:\ Windows\SysWOW64\WindowsPowerShell\v1.0\types.ps1xml(2998):类型"System.Security.AccessControl.ObjectSecurity"出错:异常:getter方法应该是public,非void ,static,并且有一个PSObject类型的参数.Microsoft.PowerShell.Core,C:\的Windows\Syswow64资料\ WindowsPowerShell\V1.0\types.ps1xml(3005):异常:在类型 "System.Security.AccessControl.ObjectSecurity" 错误该吸气剂的方法应该是公共的,非空隙,static,并且有一个PSObject类型的参数.
我在App.config中应用了以下内容:
<dependentAssembly>
<assemblyIdentity name="System.Management.Automation" publicKeyToken="31bf3856ad364e35" />
<publisherPolicy apply="no" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)
问题可能是什么?
刚开始出现错误后,Visual Studio 2015企业中的软件包管理器控制台崩溃:
Windows PowerShell已成功更新您的执行策略,但该设置被更具体范围内定义的策略覆盖.由于覆盖,您的shell将保留其当前有效的RemoteSigned执行策略.键入"Get-ExecutionPolicy -List"以查看执行策略设置.有关详细信息,请参阅"Get-Help Set-ExecutionPolicy".
我尝试过很多东西,比如将power shell中的执行策略设置为remoteSigned,但没有任何帮助,nuget仍然无法正常工作.
任何人都有同样的问题?谢谢你的任何进步.