部署CRM Online插件后新引入NuGet包出现文件找不到异常的解决办法
解决CRM插件部署时NuGet依赖DLL缺失的问题
设置NuGet引用的复制本地属性
右键项目中的Azure.IdentityNuGet引用,打开属性面板,将复制本地设置为True。如果该包还有间接依赖(比如Azure.Core.dll),也要逐一检查并开启此设置,确保编译时所有必要依赖都会被复制到输出目录。通过Plugin Registration Tool完整注册依赖
打开工具后选择「注册」→「注册程序集」,浏览选中你的插件主DLL后,工具会自动检测关联的依赖DLL。务必确认Azure.Identity.dll及其他相关依赖被勾选,再完成注册流程。如果工具未自动检测到,手动点击「添加」按钮,从项目输出目录中选择缺失的依赖DLL加入。验证项目输出目录的文件完整性
编译项目后,前往输出目录(如bin/Debug或bin/Release)确认Azure.Identity.dll是否存在。若缺失,先检查NuGet包是否正确安装,再执行「清理解决方案」→「重新生成解决方案」操作,确保依赖文件被正确复制。合并依赖DLL到主插件程序集
可以使用ILRepack这类工具将依赖DLL合并到主插件DLL中,避免单独部署依赖的麻烦:- 安装
ILRepackNuGet包到插件项目 - 在项目的「生成后事件命令行」中添加类似命令:
"$(SolutionDir)packages\ILRepack.2.0.18\tools\ILRepack.exe" /out:$(TargetDir)YourPlugin.Merged.dll $(TargetPath) $(TargetDir)Azure.Identity.dll $(TargetDir)Azure.Core.dll - 编译后使用生成的合并DLL进行部署
- 安装
检查环境兼容性
确认Azure.Identity的版本与目标Dynamics 365环境兼容,若环境版本较旧,尝试降级到兼容的NuGet版本后重新编译部署。
内容的提问来源于stack exchange,提问作者srishti purohit
相关产品推荐
相关产品推荐

