自动嵌入引用的程序集

时间:2014-04-25 12:54:51

标签: deployment dynamics-crm-2011 assemblies embedded-resource microsoft-dynamics

我发现了一些关于如何将程序集嵌入到一个主DLL中的非常酷的文章。如果要将DLL存储在CRM数据库中,则必须执行此操作。 AppDomain.CurrentDomain.AssemblyResolve in dynamics crm

另一种方法是使用ILMerge,我对此不感兴趣。

在我的场景中,我想嵌入的DLL来自同一个解决方案。嵌入程序集的技巧是创建一个文件夹,Add Existing Item并选择要使用的DLL。然后转到DLL的属性并将它们标记为Embedded Resource。

问题是,在我构建解决方案之前,引用的DLL不会更新。所以,目前,我正在构建项目,将/ bin DLL复制到项目程序集文件夹,然后再次重建项目。

更糟糕的是,我有不同的解决方案配置:调试,开发,QC,UAT和生产。这改变了我从中获取DLL的/ bin目录。

那么,有没有办法在项目构建时自动刷新项目文件夹 - 我可以根据当前的解决方案配置更改DLL的来源吗?

1 个答案:

答案 0 :(得分:0)

几个月来,我正在构建解决方案,将DLL复制到 EmbeddedAssemblies 文件夹中,然后重建项目。这真的很痛苦,因为我必须编写一个 .bat 文件,在我的整个 .sln 上调用MSBuild,然后执行{{1然后在 .csproj 上调用MSBuild。

更糟糕的是,因为我无法控制TFS如何忽略文件,所以源代码控制不断地将这些文件视为更改,我必须明确地将它们从签入中排除。我的队友通常不那么体贴。

终极,我又看了一眼ILMerge。在内部,它几乎与我完全一样。我转到了ILMerge,从那时起我就开心了。