四月 14

DocProject 是一個在.NET下,可以幫你自動產生程式碼文件的東西
詳細的介紹可到作者網站參考
中文的資料可參考使用DocProject外速產生.NET物件文件(一) - 黃偉榮的學習筆記- 博客園

如果你安裝完成後,使用Visual Studio 2008建立DocProject專案後
此時可以在Visual Studio內進行建置,並不會有錯誤
但如果是用DocProject External UI來開啟專案你就會收到一個錯誤,像下圖
這是因為程式找不到輸出的路徑
20100414_1

解決方法如下:
1.先使用記事本開啟DocProject的專案檔(csproj 或 vbproj)
2.於第一個<PropertyGroup>內插入<OutputPath>bin\</OutputPath>。如下圖所示

20100414_2

接下來就可以順利使用DocProject External UI了
建置時,別忘了選擇編譯的CPU類型
20100414_3





四月 11

這篇文章主要是針對RouterOS更新到DynDNS上所寫的

如果你要更新到ChangeIP.com的話,請參考RouterOS 動態更新IP到 ChangeIP.com

請先到RouterOS 動態更新IP到 ChangeIP.com看一下其他的相關的設定
再把主要的Script換成本文的Script即可。

相關的Script如下

#Script在RouterOS 5.0rc11中測試過
#Date:2010/04/11
#Script Name:DynDNSUpdate
#Script Describe:更新IP到DynDNS上面去

#定義使用者相關的變數,請於下面自行輸入
:local ddnsuser "你的DynDNS帳號"
:local ddnspass "你的DynDNS密碼"
:local ddnshost "你的完整網址名(例如:abcd.ath.cx)"
:local ddnsinterface "要更新的介面名稱(例如:pppoe-out1)"

#定義IP變數
:global ddnsipADSL1
:global ddnslastipADSL1
:if ([ :typeof $ddnslastipADSL1 ] = nil ) do={ $ddnslastipADSL1 "0" }

#取得介面的IP位置
:set ddnsipADSL1 [ /ip address get [/ip address find interface=$ddnsinterface ] address ]
#去掉IP的網段
:set ddnsipADSL1 [:pick $ddnsipADSL1 0 [:find $ddnsipADSL1 "/"]]

#判斷是否需要進行更新
:if ([ :typeof $ddnsipADSL1 ] = nil ) do={
   :log info ("DynDNS: " . $ddnsinterface . "介面上沒有IP,請確認")
} else={
  :if ($ddnsipADSL1 != $ddnslastipADSL1) do={
    :log info ("DynDNS:" . $ddnsinterface . "更新IP" . $ddnsipADSL1)
	:local str "/nic/update?hostname=$ddnshost&myip=$ddnsipADSL1&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG"
    /tool fetch address=members.dyndns.org src-path=$str mode=http user=$ddnsuser password=$ddnspass dst-path=("/DynDNS.".$ddnshost)
	:delay 1
    :local str [/file find name="DynDNS.$ddnshost"];
    /file remove $str
#更新後把IP設為最新的IP
    :global ddnslastipADSL1 $ddnsipADSL1
  }
}

參考資料:
MikroTik RouterOS: DynDNS Update Script
DynDNS Perform Update