VS2022中打开解决方案前卸载指定项目的方法咨询
一、打开解决方案前移除故障项目
完全可以通过编辑解决方案文件跳过故障项目的加载:
- 找到你的
.sln后缀文件,用记事本或VS Code打开 - 定位到对应数据库项目的代码块,格式一般是:
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "数据库项目名称", "项目路径\DatabaseProject.sqlproj", "{项目GUID}" EndProject - 删除这段完整的
Project到EndProject代码,保存文件后再打开解决方案,就只会加载其他正常项目了
二、在解决方案资源管理器中卸载项目
如果已经能在VS的解决方案资源管理器里看到这个项目(哪怕显示灰色加载失败),直接右键点击该项目,选择卸载项目即可。卸载后解决方案就能正常加载剩余项目,之后要是想修复这个数据库项目,还能右键选择重新加载项目尝试。
三、事件查看器错误信息翻译
应用程序: devenv.exe
.NET框架版本: v4.0.30319
描述: 进程因未处理异常终止。
异常信息: System.DllNotFoundException
在 Microsoft.Data.SqlClient.SNINativeManagedWrapperX64.UnmanagedIsTokenRestricted(IntPtr, Boolean ByRef)
在 Microsoft.Data.SqlClient.SNINativeMethodWrapper.UnmanagedIsTokenRestricted(IntPtr, Boolean ByRef)
在 Microsoft.Data.Win32NativeMethods.IsTokenRestrictedWrapper(IntPtr)
在 Microsoft.Data.ProviderBase.DbConnectionPoolIdentity.GetCurrent()
在 Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnection(Microsoft.Data.Common.DbConnectionOptions, Microsoft.Data.Common.DbConnectionPoolKey, System.Object, Microsoft.Data.ProviderBase.DbConnectionPool, System.Data.Common.DbConnection, Microsoft.Data.Common.DbConnectionOptions)
在 Microsoft.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(System.Data.Common.DbConnection, Microsoft.Data.ProviderBase.DbConnectionPoolGroup, Microsoft.Data.Common.DbConnectionOptions)
在 Microsoft.Data.ProviderBase.DbConnectionFactory.TryGetConnection(System.Data.Common.DbConnection, System.Threading.Tasks.TaskCompletionSource1<Microsoft.Data.ProviderBase.DbConnectionInternal>, Microsoft.Data.Common.DbConnectionOptions, Microsoft.Data.ProviderBase.DbConnectionInternal, Microsoft.Data.ProviderBase.DbConnectionInternal ByRef) 在 Microsoft.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(System.Data.Common.DbConnection, Microsoft.Data.ProviderBase.DbConnectionFactory, System.Threading.Tasks.TaskCompletionSource1<Microsoft.Data.ProviderBase.DbConnectionInternal>, Microsoft.Data.Common.DbConnectionOptions)
在 Microsoft.Data.SqlClient.SqlConnection.TryOpenInner(System.Threading.Tasks.TaskCompletionSource1<Microsoft.Data.ProviderBase.DbConnectionInternal>) 在 Microsoft.Data.SqlClient.SqlConnection.TryOpen(System.Threading.Tasks.TaskCompletionSource1<Microsoft.Data.ProviderBase.DbConnectionInternal>, Microsoft.Data.SqlClient.SqlConnectionOverrides)
在 Microsoft.Data.SqlClient.SqlConnection.Open(Microsoft.Data.SqlClient.SqlConnectionOverrides)
在 Microsoft.Data.Tools.Schema.Utilities.Sql.Common.SqlClient.ConnectionHelperUtils.OpenSqlConnection(System.String)
在 Microsoft.VisualStudio.Data.Tools.Package.Project.DefaultDebugInstance.InitializeDebugInstance()
在 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
在 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
在 System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
在 System.Threading.ThreadPoolWorkQueue.Dispatch()
内容的提问来源于stack exchange,提问作者ichachan

