2014-08-29 25 views
0

在我的一個項目中,開發人員忘記檢查對biztalk業務流程所做的更改,但是這些更改已交付並安裝在生產服務器中。我想知道從MSI文件/ Biztalk獲取Biztalk協調源代碼的最佳方式。我已經閱讀了關於使用反編譯的一個線程,但不知道如何獲取源代碼。從導出的MSI獲取Biztalk業務流程源代碼的最佳方式

回答

1

另一個選擇是到BizTalk文檔管理器20062010(和即將發佈的BizTalk 2013年),並生成一個幫助,記錄了業務流程文件。

更新:上述兩個版本都不再受支持。通過BizTalk 2013 R2可以找到最新版本的BizTalk2007 BizTalk2001。

+0

嗨Dijkgraff,我已經安裝了文件,但不知道如何獲得.odx文件。 – James 2014-09-01 11:34:04

+0

嗨Dijkgraff,我看到你已經回答了這個問題,從程序集中提取資源文件的類似的問題; 「你有幾個選項 使用一個反編譯器(比如.NET Reflector),然後你可以提取一個字符串,它是ODX文件的內容以及任何映射的XSLT(我複製了字符串編排出來的反射器,並將其粘貼到一個空的編排並重新創建它)。「但在我的情況下,我無法獲取內容,我錯過了一些細節? – James 2014-09-01 12:08:54

+0

文檔記錄器不會爲您提供ODX文件,但您將獲得一個幫助文件,記錄它的代碼,以幫助重新創建它。對於反射器中的字符串,我會將細節添加到其他答案中。 – Dijkgraaf 2014-09-01 22:50:59

1

儘管您無法反編譯爲原始項目,但您可以自行提取工件的「源」文件。它們作爲字符串資源包含在程序集中。

因此,一旦找到編排源,請將其保存爲新的Project中的.odx文件。

更新: 注意

  1. 的ODX代碼將在一個私人常量字符串_symODXML。複製該字符串。
  2. 該字符串將有很多\ n通過它,刪除這些。之後它應該是有效的XML。
  3. 該字符串從<?xml開始,並在</om:MetaModel>處結束,而ODX在該字符串之前和之後有一些位。因此,您需要粘貼到ODX文件中,以便在ODX文件中替換與其匹配的中央部分,並在完好無損前後保留部分。
+0

John,非常感謝您的回答。因爲我不是很擅長Biztak,所以我想知道我是否需要去biztalk管理控制檯(連接到已安裝的服務器)並在資源部分搜索這個orchastration部分,或者是否需要解壓縮MSI並搜索配置找到源代碼。 – James 2014-08-31 07:00:19

+0

您需要編譯後的程序集(.dll),而不是.msi。您可以在「安裝文件夾」中找到程序集(如果有的話)或全局程序集緩存中。 – 2014-08-31 18:14:02

+0

如果你有MSI,你也可以使用這個命令'msiexec/a .msi/qb TARGETDIR = C:'從那裏提取DLL。 – Dijkgraaf 2014-08-31 21:11:51

相關問題