【发布时间】:2014-06-11 04:59:33
【问题描述】:
我发现了一些关于如何将程序集嵌入到一个主 DLL 中的非常酷的文章。如果您想将 DLL 存储在 CRM 数据库中,这是必要的。 AppDomain.CurrentDomain.AssemblyResolve in dynamics crm
另一种方法是使用 ILMerge,我对此并不感兴趣。
在我的场景中,我想要嵌入的 DLL 来自同一个解决方案。嵌入程序集的技巧是创建一个文件夹,添加现有项并选择要使用的 DLL。然后转到 DLL 的属性并将它们标记为嵌入式资源。
问题是,在我构建解决方案之前,引用的 DLL 不会更新。所以,目前,我正在构建项目,将 /bin DLL 复制到项目程序集文件夹,然后再次重建项目。
更糟糕的是,我有不同的解决方案配置:调试、开发、QC、UAT 和生产。这会更改我从中获取 DLL 的 /bin 目录。
那么,有没有办法在项目构建时自动刷新项目文件夹 - 我可以根据当前的解决方案配置更改 DLL 的来源吗?
【问题讨论】:
-
如果您右键单击任何项目并转到属性,您可以为任何构建配置创建自定义构建步骤(例如复制文件)或更改输出目录。您还可以指定额外的文件夹来查找依赖库。
-
@Egor - 我能够使用预构建步骤将来自特定项目
$(OutDir)s 的 DLLxcopy放入我的嵌入式程序集文件夹中。访问$(OutDir)文件夹使我免于创建单独的部署脚本。谢谢!
标签: deployment dynamics-crm-2011 assemblies embedded-resource microsoft-dynamics