Visual studio 2010 如何在服务器项目中使用部分服务器项目? 脚本:

Visual studio 2010 如何在服务器项目中使用部分服务器项目? 脚本:,visual-studio-2010,database-project,Visual Studio 2010,Database Project,在我的组织中,我们分别开发多个应用程序。但最终,许多应用程序(及其数据库)部署到同一个SQL实例,因此它们共享同一个主数据库 我们使用VisualStudio2010数据库和服务器项目对数据库进行源代码控制 为了使某些事情标准化,我想做以下几点: 创建一个“核心”服务器数据库项目,其中包含所有服务器设置、核心登录等内容,如设置可信和服务器级ANSI设置等 让每个应用程序自己的Server.dbproj指定特定于该应用程序的登录名和角色等 让每个应用程序自己的ApplicationDatabase

在我的组织中,我们分别开发多个应用程序。但最终,许多应用程序(及其数据库)部署到同一个SQL实例,因此它们共享同一个主数据库

我们使用VisualStudio2010数据库和服务器项目对数据库进行源代码控制

为了使某些事情标准化,我想做以下几点:

  • 创建一个“核心”服务器数据库项目,其中包含所有服务器设置、核心登录等内容,如设置可信和服务器级ANSI设置等
  • 让每个应用程序自己的Server.dbproj指定特定于该应用程序的登录名和角色等
  • 让每个应用程序自己的ApplicationDatabase.dbproj引用ApplicationX.Server.dbproj
  • 理论上,源代码管理中的每个应用程序只包含特定于它的项,而不是在许多项目中保持与服务器相关的设置或配置同步

    问题 然而,在实践中,我可以做到这一点:

  • 完成了。生成一个.schema文件,我将在以后的步骤中引用该文件
  • 完成了。Server.dbproj愉快地引用了Core.dbschema,并使用自己的登录名和角色等对其进行了“扩展”。我很乐意将其部署到任何地方
  • 娜达。我添加了一个从ApplicationDatabase.dbproj到Server.dbproj的引用(假设服务器会从Core中提取项目),它会抱怨任何实际在Core中的登录 因此,在ApplicationDatabase稳定下来后,我添加了服务器和核心作为对它的引用。汇编得很好

    但是,在部署时,您会遇到此处描述的相同问题:

    我认为问题在于ApplicationDatabase实际上有两个它知道的服务器项目,因此设置重复

    Microsofts文档没有提到在服务器项目中使用部分项目,但也没有将其列为限制

    所以问题是。。。 是否有人成功地将部分项目用于服务器项目,或者您是否有办法实现相同的目标

    我会诚实地说,我不会只是“删除服务器项目”来消除问题——在我尝试改进之前,我们已经让它工作得很好了

    Error TSD01234: The source model contains 2 server option elements. 
    Only one element can be   contained in a model that can be deployed