【问题标题】:Source control for MS Dynamics CRMMS Dynamics CRM 的源代码控制
【发布时间】:2011-09-10 12:40:42
【问题描述】:

我目前对 CRM 还没有决定。对于商业用户来说,它是一个很棒的工具,但到目前为止,它对于开发来说有点不合时宜。我需要解决的下一个问题是如何轻松地在表单中使用源代码控制 javascript。我们使用 TFS 进行源代码控制。

任何人有经验或对如何做到这一点有任何想法?

明显的选择是将 JS 复制并粘贴到源代码管理中,但这也是一个明显的麻烦。

【问题讨论】:

    标签: version-control tfs dynamics-crm-2011


    【解决方案1】:

    我们在项目中做的几件事:

    1. 我们使用 CRM SDK 中包含的 Web 资源实用程序(实际上是它的修改版本)将 JavaScript Web 资源部署到特定解决方案。让脚本文件正常签入源代码管理变得非常容易,避免复制和粘贴。
    2. 我们编写了一个用于本地部署的自定义 HTTP 模块。它拦截对 JavaScript 库的请求并将它们重定向到本地磁盘上的某个位置。这样,我们不必在测试时实际重新部署 Web 资源,只需将 JavaScript 文件重新部署到磁盘。 (请注意,这在生产环境中不受支持。我们只是在我们的开发环境中这样做以减轻 JavaScript 部署的痛苦)。

    【讨论】:

      【解决方案2】:

      我在这里回答了一个非常相似的问题 - Version Control for Visual Studio projects and MS Dynamics CRM (javascript)

      我对源代码控制的选择是 TFS 包含每个 2011 JScript 库。

      【讨论】:

        【解决方案3】:

        我们尝试在基本库项目中镜像 Dynamics 用于 Web 资源的文件结构。所以版本控制正常工作,我们只是不使用项目的输出。

        您也可以尝试使用新的“CRM 解决方案”项目模板(从 SDK 安装)并能够从项目的上下文菜单中进行部署。

        我在使用模板时遇到了一些问题,但需要检查一下。

        希望这会有所帮助。

        【讨论】:

          【解决方案4】:

          你可以看看我对我自己的问题here的回答。

          MS Dynamics CRM 2011 SDK 具有 solutionpackager.exe 实用程序,可以将所有 CRM 资源拆分为文件树,您可以将它们存储在 gittfs 中。

          【讨论】:

            【解决方案5】:

            CRM 2011 中的任何网络资源都很难管理。我们最终只是在 TFS 2010 中进出大量复制粘贴(这实际上导致了粘贴效果不佳的一些问题)。

            目前没有一个简单的方法可以做到这一点。

            【讨论】:

              【解决方案6】:
              1. 仅当您真的需要能够返回旧版本的网络资源时才需要担心这一点。我发现我不需要经常这样做。请记住,Web 资源存储在 SQL Server 中,就像您将它们放在 TFS 中一样,因此只要您的 CRM 数据库正在备份,您就不会丢失 Web 资源。在传统开发中,将源代码保留在 TFS 中很重要,因为一旦编译和发布,您就无法轻松地回到它。通过 CRM 开发,您的网络资源主要是 HTML 或 JavaScript,因此您始终可以从源头获取。

              2. 如果您真的需要版本控制,为什么不构建一个快速的小控制台应用程序,该应用程序每晚下载所有自定义项并将该 zip 文件存储在 TFS 中?诚然,获得旧版本并不容易,但您应该不必手动保持 TFS 同步,从而提高工作效率。这还具有将所有自定义项存储在 TFS 中的好处,而不仅仅是 Web 资源。

              3. Silverlight 是一个明显的例外 - 我肯定会将 Silverlight Web 资源源代码存储在 TFS 中,因为它是“编译”的 Web 资源。你已经在 Visual Studio 中了,所以无论如何 TFS 都是很合适的。

              希望有帮助!

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2012-05-21
                • 1970-01-01
                • 1970-01-01
                • 2016-02-12
                • 1970-01-01
                • 1970-01-01
                • 2018-05-02
                • 1970-01-01
                相关资源
                最近更新 更多