我目前正在开发一个系统,用于跟踪中央版本控制存储库中的更改,以便将所有节点从我的AX 2009 2009 AOT导出到各个XPO文件。我有相当多的运气,但出于某种原因,我无法获得窗体或数据集节点的导出。从AX 2009批量导出表格
这是我当前的代码集:
private void export(str parentNode)
{
TreeNode node, parent;
str folderName;
Set permissions = new Set(Types::Class);
;
folderName = exportBaseDir + parentNode;
permissions.add(new FileIoPermission(folderName, "r"));
permissions.add(new InteropPermission(InteropKind::ClrInterop));
CodeAccessPermission::assertMultiple(permissions);
//Create Filesystem Folder if needed
if (!WinApiServer::pathExists(folderName))
System.IO.Directory::CreateDirectory(folderName);
CodeAccessPermission::revertAssert();
parent = TreeNode::findNode(parentNode);
if (parent)
node = parent.AOTfirstChild();
else
warning(strfmt("Could not parse node: %1", parentNode));
while (node)
{
this.exportNode(node);
node = node.AOTnextSibling();
}
}
当我打电话export(@"\Forms");
或export(@"\Data Sets");
我得到一个“无法解析节点”的消息,这意味着TreeNode::findNode()
没有正确解决。在任何其他节点(如Classes)上运行它都没有这个问题。这也只发生在批处理中时运行 - 与客户端一起运行(删除CodeAccessPermission
部件)将按预期方式导出所有节点。
是否有东西会禁止从批内访问表单和数据集?如果是这样,我能做些什么来访问这些节点?
为什么你不使用vss或内置源代码控制的任何原因? – AnthonyBlake
我们使用的是内置的MorphX VC,除了它之外,还有其他用途。他们的VC系统留下了很多不足之处(比如在任何一天查看或未更新的内容,代码的非现场备份等),我们认为这种解决方案有助于弥补这些差距。 – kingofzeal
听起来不错 - 你没有使用vss的原因? – AnthonyBlake