9

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

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

显而易见的选择是将 JS 复制并粘贴到您的源代码控制中,但这在后面也是一个明显的痛苦。

4

6 回答 6

15

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

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

我在这里回答了一个非常相似的问题 - Visual Studio 项目的版本控制和 MS Dynamics CRM (javascript)

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

于 2011-06-08T01:39:37.230 回答
1

您可以在这里查看我对我自己的问题的回答。

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

于 2013-04-16T13:33:03.167 回答
1

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

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

我对模板有一些问题,但需要检查一下。

希望这可以帮助。

于 2011-11-25T16:19:12.117 回答
0

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

目前开箱即用,没有一种简单的方法可以做到这一点。

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

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

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

希望有帮助!

于 2011-06-16T20:10:25.547 回答