C# Dynamics NAV RTC:命令行参数传递

C# Dynamics NAV RTC:命令行参数传递,c#,.net,microsoft-dynamics,C#,.net,Microsoft Dynamics,我目前正在开发一个系统,允许外部软件点击一个按钮,然后his将执行一些c#.net代码,该代码计划使用以下代码调用Dynamics NAV RTC Process.Start("Microsoft.Dynamics.Nav.Client.exe"); 外部应用程序包含我希望传递给NAV CRM的变量 是否有一种方法可以通过传递参数来实现这一点,就像使用类似于以下方式的web地址传递参数一样: Process.Start("Microsoft.Dynamics.Na

我目前正在开发一个系统,允许外部软件点击一个按钮,然后his将执行一些c#.net代码,该代码计划使用以下代码调用Dynamics NAV RTC

Process.Start("Microsoft.Dynamics.Nav.Client.exe");
外部应用程序包含我希望传递给NAV CRM的变量

是否有一种方法可以通过传递参数来实现这一点,就像使用类似于以下方式的web地址传递参数一样:

Process.Start("Microsoft.Dynamics.Nav.Client.exe",  "DynamicsNAV://localhost:7046/DynamicsNAV70/CRONUS%20UK%20Ltd./RunPage?Page=50000&No=10");
上面这行不行。我收到以下错误:

启动字典包含不允许的键“否”

参数名称:primingDictionary


社区中有人知道我如何以类似的方式生成此功能吗?

是的,只需调用接受输入参数的
进程.Start()的重载即可:

Process.Start("Microsoft.Dynamics.Nav.Client.exe", "DynamicsNAV://localhost:7046/DynamicsNAV70/CRONUS%20UK%20Ltd./RunPage?Page=50000&No=10");

您可以这样使用它:

ProcessStartInfo psi = new ProcessStartInfo("Microsoft.Dynamics.Nav.Client.exe",
            "DynamicsNAV://localhost:7046/DynamicsNAV70/CRONUS%20UK%20Ltd./RunPage?Page=50000&No=10");
Process.Start(psi);
第一个参数是进程本身,secomd是参数

你可以随意改变它们


您可以通过NAV accept参数学习

谢谢您的回答。起初我对自己的问题含糊其辞。我已经修改了问题,如果你知道我如何解决修改后的问题,那就太好了。谢谢你的回答。起初我对自己的问题含糊其辞。我已更改了问题,因此如果您知道如何解决更改后的问题,那将非常好。@liam当您取消“无”部分时会发生什么?此参数传递有效:“DynamicsNAV://localhost:7046/DynamicsNAV70/CRONUS%20UK%20Ltd./RunPage?Page=50000但是我在尝试添加参数时出错。当我单击“确定”错误时,dynamics导航CRM未加载。这似乎意味着导航。客户端不接受该参数。。。你确定你需要它吗?嗯,我正在寻找一种将参数传递给导航的方法。我不确定它是否得到支持。因此,我想看看是否可以做到这一点,以及是否有人有如何做到这一点的经验。也许我问错了问题?