小编Dav*_*son的帖子

MSBuild:自动收集db迁移脚本?

环境概要.

  • Asp.net Web应用程序(源代码存储在svn中)
  • SQL Server数据库.(存储在svn中的数据库模式(表/ sprocs))
  • db版本与Web应用程序程序集版本同步.(存储在表'CurrentVersion'中)
  • CI哈德森服务器从repo检出web应用程序并运行自定义msbuild文件发布/打包应用程序.

我的msbuild脚本在每个构建上更新Web应用程序的组装版本(Major.Minor.Revision.Build).'Revision'设置为当前检出的svn版本,并将'Build'设置为hudson内部版本号(在每个自动构建时递增).

这样我可以将应用程序与特定的主干版本匹配,也可以从hudson内部版本号获取其他构建统计信息.

我想自动收集迁移脚本(更新的sprocs等)以添加到zip包中.我想通过将尚未部署的db的svn版本与正在部署的版本进行比较,我可以找到自上次部署到该数据库/环境以来干线中哪些db文件已更改.

这可以通过手动调用svn diff -r REVNO:REVNO命令列出已更改的.sql文件来轻松实现.然后可以手动将这些文件添加到包中.如果这可以自动化将会很棒.

首先,我想我必须编写一个自定义任务来检查尚未部署到的数据库的版本.在那之后,我很不确定.有没有人对如何通过现有或自定义的msbuild任务实现这一点有任何建议?

最后,我必须自动将脚本添加到更新数据库版本表的包中,以便与应用程序保持同步.

svn sql-server asp.net msbuild continuous-integration

7
推荐指数
1
解决办法
1004
查看次数

除Microsoft Synchronization Framework之外的其他数据库同步工具?

我们一直在使用Microsoft Synchronization Framework将disconnnected笔记本电脑与主SQL Server同步.不幸的是,正确安装所有依赖项是一个问题,我们有时也会遇到奇怪的错误.

是否还有其他人们使用的商业或开源替代方案更容易,更强大?

database sql-server synchronization

5
推荐指数
1
解决办法
165
查看次数

Windows窗体内存泄漏

我在Windows应用程序中看到了轻微的内存泄漏.我在我的应用程序中使用DevExpress XtraForm.我看到的是表单的一个实例总是保存在内存中.如果多次打开同一个表单,它仍会保持打开最后一个表单的引用.

防爆.如果你在应用程序中打开10个不同的表单并关闭所有表单,它仍然不会释放分配给它的内存,因为一些奇怪的"MdiClient对象引用了LayoutEventArgs对象".幸运的是,它保留了每种类型单项的参考.

这是Redgate内存分析器输出的链接.

https://dl.dropboxusercontent.com/u/2781659/Memory%20Leak.pdf

在上面的图表中,DepartmentsForm是dipined但由于LayoutEventArgs的affectedComponent成员引用它而无法进行GC.

如果您发现任何明显错误,请告知.

.net c# memory-leaks devexpress devexpress-windows-ui

3
推荐指数
1
解决办法
2094
查看次数

用于tSQLt的代码覆盖工具

我正在尝试测试tSQLt的代码覆盖率.

我在"DLM Automation Suite"站点上找到了一个工具SQL Cover.有些程序在数据库中加密,因此会抛出异常.它是该工具的限制还是有另一种方法来测试tSQLt测试用例的代码覆盖率?

sql-server code-coverage redgate tsqlt

1
推荐指数
1
解决办法
570
查看次数