我有一个vs2017项目,只有SLN文件,没有SUO文件。当我打开解决方案并转到属性时,将其设置为Currently for startup project。除非我手动将其设置为我的一个项目,否则当我执行Update-Database时,另一个数据迁移项目不会获得连接字符串。我尝试对SLN文件中的项目重新排序,但这并不影响它。在更改了设置中的默认项目后,它实际上并没有更新任何源代码控制文件,我也看不到SUO文件。关于如何修改解决方案的文件以将默认启动项目设置为单个特定项目,有什么建议吗?
发布于 2017-04-28 08:48:45
启动项目被故意保存到.suo文件中,该文件是解决方案的用户特定设置。.suo文件已移动到.vs\SolutionName\v15\.suo,而不是紧挨着.sln文件。
这是为了避免像Bill和Fred这样的情况,Bill是假想的后台开发人员,只关心API项目,而Fred是前端工程师,只关心网站项目,最终不会与彼此的设置发生冲突。
也就是说,Update-Database cmdlet应采用任何必要的参数来完成该任务。在本例中,它是-StartupProjectName参数。请注意,其他cmdlet可能会使用不同的参数名称。
PM> get-help update-database
NAME
Update-Database
SYNOPSIS
Applies any pending migrations to the database.
SYNTAX
Update-Database [-SourceMigration <String>] [-TargetMigration <String>] [-Script] [-Force] [-ProjectName <String>] [-StartUpProjectName <String>]
[-ConfigurationTypeName <String>] [-ConnectionStringName <String>] [-AppDomainBaseDirectory <String>] [<CommonParameters>]
Update-Database [-SourceMigration <String>] [-TargetMigration <String>] [-Script] [-Force] [-ProjectName <String>] [-StartUpProjectName <String>]
[-ConfigurationTypeName <String>] -ConnectionString <String> -ConnectionProviderName <String> [-AppDomainBaseDirectory <String>] [<CommonParameters>]发布于 2018-03-20 02:56:24
我想我也有同样的问题,vs2017不记得我设置为默认项目的默认项目。他总是将其他项目设置为默认项目。
我发现他设置为默认值的项目位于解决方案文件的第一个位置。
因此,我最终通过将我最喜欢的项目的位置移动到该文件(.sln)上的第一个项目。所以我最喜欢的项目仍然是默认的。
我很高兴能有一个正常的解决方案来解决这种奇怪的情况。
https://stackoverflow.com/questions/43661658
复制相似问题