当我去更新数据库时,我$env:ASPNETCORE_ENVIRONMENT="Development"首先运行,然后再执行Update-Database命令来设置正确的环境。例如,如果我之前已将更改部署到测试,则运行此命令应该将我带回开发环境,而不再指向测试。
不幸的是,这仅在 33% 的情况下有效。每次我运行这个时,我也会运行$env:ASPNETCORE_ENVIRONMENT并检查它是否返回正确的环境,并且确实如此。然后我运行Update-Database我需要的命令,它以某种方式变回以前的环境。
任何人都知道我做错了什么或知道我将连接到正确的数据库的方法吗?如果访问了错误的数据库并且数据恰好被删除或系统出现故障,这可能会非常糟糕。
c# environment-variables package-manager-console visual-studio-2019 ef-core-3.1
根据Microsoft Docs,包管理器控制台有助于包管理。它还允许发出与迁移相关的命令(例如Add-Migration)。
我通过尝试它的限制来闲逛,并注意到一些 Powershell 命令根本不起作用(无限期等待)。示例(尝试打开容器内的外壳):
docker exec -it catalogdb /opt/mssql-tools/bin/sqlcmd -S localhost -U sa
Run Code Online (Sandbox Code Playgroud)
我很确定我过去遇到过其他限制。
我尝试找出该控制台的已知限制,因为在许多情况下从 Visual Studio 运行 Powershell 命令更方便,但找不到任何相关文档。
问题: Visual Studio 的包管理器控制台 (Powershell) 有哪些限制?(与 Windows Powershell 控制台相对)
limit visual-studio package-manager-console visual-studio-2019
When I load Package Manager Console within Visual Studio 2017 v15.9.6 in a project that uses Entity Framework I receive the following error:
\packages\EntityFramework.6.2.0\tools\init.ps1 cannot be loaded because its operation is blocked by software restriction policies, such as those created by using Group Policy. At line:1 char:45 + ... rgs+=$_}; & 'C:\Bitbucket\project-path\packages\EntityFramework.6.2. ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
This prevents me from running commands specific to Entity Framework like "Update-Database" or "Add-Migration". …
powershell entity-framework executionpolicy visual-studio-2017 package-manager-console
我有一个 powershell 脚本,其中包含 nuget 命令,例如:
获取项目 - 全部
获取包 -ProjectName
当我在 Visual Studio 上运行包管理器控制台时:
PM> .\download-packages-license.ps1
它有效,但我无法运行 powershell。我需要一个帮助。
Powershell 错误消息:
download-packages-license.ps1 无法加载,因为在此系统上禁用了运行脚本。有关详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkID=135170 上的 about_Execution_Policies。在 line:1 char:1 + .\download-packages-license.ps1 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : SecurityError: (:) [], PSSecurityException +fullyQualifiedErrorId : UnauthorizedAccess
powershell visual-studio nuget nuget-package package-manager-console
PM> get-help entityframework
Run Code Online (Sandbox Code Playgroud)
get-help :未将对象引用设置为对象的实例。
在第 1 行:1 个字符:1
+ 获取帮助实体框架
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo :未指定:(:) [获取帮助] ,NullReferenceException
+ FullQualifiedErrorId:System.NullReferenceException,Microsoft.PowerShell.Commands.GetHelpCommand
我猜这可能是与PowerShell相关的问题,所以我在这里列出了它的版本号
PM> $PSVersionTable.PSVersion
Major  Minor  Build  Revision
-----  -----  -----  --------
5      0      10586  494     
Run Code Online (Sandbox Code Playgroud)
我正在使用
Microsoft Visual Studio Community 2017
Version 15.8.7
Run Code Online (Sandbox Code Playgroud)