当前位置: 代码迷 >> 综合 >> debug infopath,may be bored first
  详细解决方案

debug infopath,may be bored first

热度:14   发布时间:2023-12-08 01:48:09.0

最近研究infopath,期间对调试费了一番功夫,但仍不得其法,

/preview "Path/manifest.xsf" /sampledata "Path/template.xml" /viewname "View 1" /inputparameters "Parameter" ,尤其是这一长串,具体如何使用,还希望高人指点
虽然我没有利用到他,但确也勉强调试成功
                                                VSTO Debugging
若要解决 VSTA 项目中的此问题,请按照下列步骤操作:

  1. 创建一个新的基于 InfoPath 表单模板的 XML 文件。InfoPath 表单模板是一个 .xsn 文件。
  2. 将 XML 文件另存为 Test.xml。
  3. 单击“开始”,单击“运行”,在“打开”框键入 InfoPath "Path/Test.xml" /inputparameters "Parameter",然后单击“确定”。

参照msdn:

操作方法:预览和调试 InfoPath 托管代码表单模板

操作方法:预览和调试 InfoPath 托管代码表单模板

使用带有 Microsoft Visual Studio Tools for Applications (VSTA) 的 Microsoft Office InfoPath 2007、带有 Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System 的 Visual Studio 2005 和 带 Visual Studio Tools for Office 的 Visual Studio 2008,可以通过在预览模式下运行表单代码来进行调试。在您开始调试表单代码时,系统将对项目进行编译并且 InfoPath 在 InfoPath 预览窗口中显示表单。当遇到设置了断点的一行代码时,焦点将移动到代码编辑器。当越过断点继续进行编译时,焦点将移回预览窗口。关闭预览窗口时调试也将停止。

还可以修改表单模板的表单选项,以便使用特定的用户角色或示例数据文件或者通过指定表单将发布到的域来进行预览和调试。

在代码中设置断点并编译您的表单模板后,可以在编辑模式下打开它,然后连接到 Visual Studio 中的 InfoPath 进程并在运行时调试您的表单模板。

注意:

不能在运行时从 VSTA 调试表单模板。这适用于只与 InfoPath 兼容的表单模板以及与 InfoPath 和 InfoPath Forms Services 兼容的表单模板。

有关调试从 Visual Studio 部署到 InfoPath Forms Services 的表单模板业务逻辑的信息,请参阅操作方法:调试部署在 InfoPath Form Services 上的启用浏览器功能的表单

在预览模式下调试

在预览模式下调试 InfoPath 项目

  1. 在 VSTA 或 Visual Studio 中创建或打开 InfoPath 托管代码表单模板。

  2. 在代码编辑器中,通过单击要插入断点的代码行左侧的灰条在表单代码中设置一个或多个断点。

    将显示一个红色圆圈,并且该代码行突出显示,指示运行时将在表单代码中的此断点处暂停。

  3. 在“调试”菜单上单击“启动调试”;或按 F5。

    将对项目进行编译,并在预览窗口中显示表单。

  4. 与表单进行交互,直到遇到包含断点的一行代码。

    焦点将返回到代码编辑器。

  5. 在“调试”菜单上,单击“继续”;或按 F5。

  6. 完成调试后,关闭预览窗口;或者在“调试”菜单上单击“停止调试”。

注意:

要在使用需要完全信任的对象模型成员时调试 InfoPath 托管代码表单模板,您必须按照操作方法:预览和调试需要完全信任的托管代码表单模板中的说明配置您的表单模板。

使用示例数据文件

默认情况下,调试和预览使用在创建表单模板时创建的 template.xml 文件。您可以创建自己的数据文件,并按照以下过程之一指定在预览或调试过程中使用该文件。

指定在 VSTA 中调试或预览时使用的示例数据文件

  1. 要查看 template.xml,请在 InfoPath 设计模式下打开表单模板。

  2. 在“文件”菜单上单击“另存为源文件”,将表单模板文件保存到一个文件夹中,然后在文本编辑器中打开该 template.xml 文件。

  3. 利用要使用的示例数据创建并保存与 template.xml 具有相同结构的文件。

  4. 在“文件”菜单上,单击“预览”,然后单击“预览设置”。

  5. 在“示例数据”下,指定您的示例数据文件

指定在 Visual Studio 中调试或预览时使用的示例数据文件

  1. 要查看 template.xml,请在 Visual Studio 中打开表单模板项目。

  2. 关闭“manfest.xsf [设计]”选项卡。

  3. 在“解决方案资源管理器”工具栏中,单击“显示所有文件”,右键单击 template.xml,然后单击“打开”。

  4. 选择并复制 template.xml 文件的内容。

  5. 在“文件”菜单上,指向“新建”,单击“文件”,然后创建“XML 文件”。

  6. 将 template.xml 的内容粘贴到新文件中,并将示例数据添加到该文件中。

  7. 在“文件”菜单上,单击“XMLFile1.xml 另存为”,然后将该文件保存到项目的“InfoPath 表单模板”文件夹。

  8. 打开 manifest.xsf,单击“工具”菜单上的“表单选项”,单击“预览”,然后指定示例数据文件。

指定调试或预览过程中使用的用户角色

如果正在使用的表单已定义了用户角色,则可以指定在调试或预览表单时使用的用户角色。有关如何定义用户角色的信息,请在 InfoPath 帮助中搜索“用户角色”。

指定在调试或预览过程中使用的角色

  1. 如果您使用的是带有 VSTA 的 InfoPath,请切换到 InfoPath。

    如果您使用的是 Visual Studio,请单击“manfest.xsf [设计]”选项卡。

  2. 在“工具”菜单上单击“表单选项”。

  3. 单击“预览”,然后在“以以下角色预览”下拉框中指定要使用的用户角色。

指定在调试或预览过程中使用的域

可以预览表单,就像该表单已发布到某个特定域一样。仅当表单模板的安全级别显式设置为“域”时,此设置才适用。

指定在调试或预览过程中使用的角色

  1. 如果您使用的是带有 VSTA 的 InfoPath,请切换到 InfoPath。

    如果您使用的是 Visual Studio,请单击“manfest.xsf [设计]”选项卡。

  2. 在“工具”菜单上单击“表单选项”。

  3. 单击“预览”,然后在“域”框中指定在调试和预览过程中要使用的域。

  4. 单击“安全和信任”,清除“自动确定安全级别”复选框,然后单击“域”。

在运行时调试

如果您是在 Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System 或 带 Visual Studio Tools for Office 的 Visual Studio 2008 中开发 InfoPath 表单模板,那么可以按照以下过程在运行时调试表单模板。

在运行时调试 InfoPath 项目

  1. 在 Visual Studio 中打开表单模板项目,在代码中设置一个或多个断点,然后按照操作方法:部署 InfoPath 项目中的说明来编译和部署表单模板。

  2. 在 InfoPath 中,在编辑模式下打开表单模板。

  3. 在 Visual Studio 中,单击“工具”菜单上的“连接到进程”。

  4. 在“可用进程”列表中,选择 INFOPATH.EXE,然后单击“连接”。

  5. 在 InfoPath 中处理表单直到遇到断点,然后使用 Visual Studio 中的调试工具。

 

 

the following is my experience:may be helpful.

 

first you must publish your form to specific location.then open it,finally,start debug .if default infopath.exe is setting ,then infopath is started,then choose the infopath what you have published,click the "button named call",maybe ,you will be ok for debugging,that's what I hava acquired throughout the programming process.

in addition the form must be signed and fulltrust,otherwise ,it won't be opened .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EndpointAddress address = new EndpointAddress(http://localhost:8080/wcf/RainyLinCalculatorService.svc);

 

 

WSHttpBinding binding = new WSHttpBinding();

using (ChannelFactory<IService1> chanelFactory = new ChannelFactory<IService1>(binding, address))

{

 

 

 

 

IService1 proxy = chanelFactory.CreateChannel();

 

 

using (proxy as IDisposable)

{

 

 

string result = proxy.GetData(32);

 

 

XPathNavigator xpn = this.MainDataSource.CreateNavigator();

xpn.SelectSingleNode(

"/my:myFields/my:comments", this.NamespaceManager).SetValue(result);

 

 

infpath调用WCF的demo总算是做成功了.

 

 

 

参照blog:http://blog.joycode.com/choral/archive/2008/04/01/115038.aspx

 

 

 

  相关解决方案