【发布时间】:2019-07-25 13:30:05
【问题描述】:
我有一个 Dynamics365 DevVM 并将其从 10PU26 更新到 10PU28,以便我在与我正在开发的系统相同的平台版本上进行开发。应用 10pu28 后,我启动了我的 VisualStudio,更改了一些内容并尝试保存和编译,但注意到 BP 已损坏,因此我无法进一步开发。 Visual Studio 记录以下内容,但我不确定我能做些什么来解决这个问题。
Build started 07/25/2019 06:27.
Build step: Metadata validation started.
Exception occured while performing operation Validate Metadata. Exception details: Path: []:System.ArgumentNullException: Value cannot be null.
Parameter name: source
at System.Linq.Enumerable.Contains[TSource](IEnumerable`1 source, TSource value, IEqualityComparer`1 comparer)
at Microsoft.Dynamics.Framework.Tools.ILGeneratorAgent.CompilationService.ValidateMetadata(String module, String metadataPath, String compilerMetadataPath, IEnumerable`1 referencedAssembliesFolders, IEnumerable`1 elements)
Build step: Metadata validation completed (10 ms).
Build step: X++ compilation, label generation and resource deployment started.
Build step: X++ compilation, label generation and resource deployment completed (670 ms).
Build step: Best practice check started.
Exception occured while performing operation Best practice checks. Exception details: BP Rule: [Exception occured while performing operation Best practice checks. Exception details]:System.ArgumentNullException: Value cannot be null.
Parameter name: referencedAssembliesFolders
at Microsoft.Dynamics.Framework.Tools.ILGeneratorAgent.MetadataProviderExtensions.AddReferenceProvider(IMetadataProvider provider, IEnumerable`1 referencedAssembliesFolders, IDiagnosticSink diagnostics, String modelModule, MetadataProviderFactory factory)
at Microsoft.Dynamics.Framework.Tools.ILGeneratorAgent.CompilationService.RunBestPracticeChecks(String module, String metadataPath, String compilerMetadataPath, IEnumerable`1 referencedAssembliesFolders, IEnumerable`1 elements, String modelName, Boolean isNormalizedCollectionNeeded)
Build step: Best practice check completed (9 ms).
Build completed (716 ms).
作为临时解决方法,我尝试在构建时禁用正在运行的 BP,但这也不起作用。当 BP 被禁用时,我仍然无法编译。以下是日志:
Build started 07/25/2019 06:40.
Build step: Metadata validation started.
Exception occured while performing operation Validate Metadata. Exception details: Path: []:System.ArgumentNullException: Value cannot be null.
Parameter name: source
at System.Linq.Enumerable.Contains[TSource](IEnumerable`1 source, TSource value, IEqualityComparer`1 comparer)
at Microsoft.Dynamics.Framework.Tools.ILGeneratorAgent.CompilationService.ValidateMetadata(String module, String metadataPath, String compilerMetadataPath, IEnumerable`1 referencedAssembliesFolders, IEnumerable`1 elements)
Build step: Metadata validation completed (8 ms).
Build step: X++ compilation, label generation and resource deployment started.
Build step: X++ compilation, label generation and resource deployment completed (381 ms).
Build completed (409 ms).
【问题讨论】:
-
@FH-Inway 我没有修改拓扑文件。我尝试通过“Dynamics365 > Build Models”编译我的模型(带有引用),到目前为止,无论有无 BestPractiseChecks,这都有效。看来我无法从解决方案构建项目,而只能基于模型
-
oof...感谢您在该文档上提出问题。我将回滚我的虚拟机,明天再次尝试修改拓扑文件。谢谢
-
@FH-Inway 看起来很有用,如果有帮助,我必须检查一下并报告。我对当前的更新体验不太满意...
-
@FH-Inway 使用 ps 模块进行更新非常方便 :) 这次 pu28 失败了,因为“向127.0.01/ReportServer 发出 http 请求时发生了 System.Net.WebException 类型的异常@ “但这可能是它自己的问题......
-
确实如此。我们也遇到了这个问题。启动 Windows 服务“SQL Server Reporting Services (MSSQLSERVER)”可以解决它。
标签: dynamics-365 dynamics-365-operations