首页 新闻 赞助 找找看

,NET CORE获取AX Dynamic中的所有数据表的时候缺少引用

0
[待解决问题]

我编写了一段代码读取Ax Dynamics 365中的所有数据表,在使用一个类的时候抛出了异常

CS0246未能找到类型或命名空间名称“MetadataServiceProvider”(是否缺少using指令或程序集引用?)
以下是代码:
public static List<AxTable> GetAllTables()
{
var tables = new List<AxTable>();
try
{
using (var provider = new MetadataServiceProvider())
{
var axTables = provider.MetaModelService.GetTables();

                foreach (var axTable in axTables)
                {
                    tables.Add(axTable);
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

        return tables;
    }

提示我缺少引用,但是这个dll我又没有不知道在哪里下
img

img

也可以提供其他的方式获取数据表

昱昇的主页 昱昇 | 初学一级 | 园豆:160
提问于:2023-04-13 14:33
< >
分享
所有回答(2)
0

CS0246错误提示说未能找到类型或命名空间名称“MetadataServiceProvider”,这通常是由于缺少程序集引用导致的。您需要确保在项目中添加了正确的程序集引用。

首先,您需要确定需要使用的程序集的名称。在这种情况下,似乎需要使用“Microsoft.Dynamics.AX.Metadata.Core.Services”程序集。

然后,您可以通过以下两种方法之一添加程序集引用:

手动添加引用:
在Visual Studio中,右键单击项目,然后选择“添加引用”。在弹出窗口中,选择“程序集”选项卡,然后在搜索框中输入“Microsoft.Dynamics.AX.Metadata.Core.Services”以查找该程序集。找到该程序集后,选中它并单击“确定”按钮以将其添加到项目中。

使用NuGet包管理器:
在Visual Studio中,右键单击项目,然后选择“管理NuGet程序包”。在搜索框中输入“Microsoft.Dynamics.AX.Metadata.Core.Services”以查找该程序集的NuGet包。找到该包后,安装它以将其添加到项目中。

完成后,重建项目并再次运行代码,应该不再出现缺少程序集引用的错误。

台群精机 | 园豆:215 (菜鸟二级) | 2023-04-13 15:39
0

这个错误是由于缺少对 "MetadataServiceProvider" 类型的引用所导致的。你需要添加对包含此类的程序集的引用。

如果你不知道该程序集在哪里,可以尝试搜索 "MetadataServiceProvider" 并查看是否有任何相关信息,或者参考 Dynamics 365 文档以了解应该引用哪些程序集。

你也可以尝试使用 Visual Studio 中的“引用管理器”来查找并添加所需的程序集引用。打开“引用管理器”,右键单击你的项目,然后选择“添加引用”。在“添加引用”对话框中,你可以搜索并添加所需的程序集引用。

如果你找不到所需的程序集,则可能需要更新或重新安装 Dynamics 365。

Technologyforgood | 园豆:5468 (大侠五级) | 2023-04-13 21:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册