葉:叶
舊:旧
盡:尽
星期日, 6月 06, 2010
在VS2010中,指定clean solution或project前執行某些指令
由於vs2010 IDE似乎沒有直接支援這樣設定,因此採用Import Project的方式,以便明確地看出這是額外加上去的指令。
- 在 *.vcxproj file中Import Project:
<Import Project="Extra.targets"/> - 建立Extra.targets file, 內容為:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="BeforeCppClean">
<Exec Command="echo Hello World" />
</Target>
</Project>
相關資料:
- C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets and Microsoft.CppClean.targets
- MSBuild Schema Reference
星期四, 12月 24, 2009
64 bit windows registry redirector and reflection
定義:
- redirector: 讓32 bit與64 bit程式使用相同的registry key存取不同的registry實體
- reflection: 自動同步相同registry key的32 bit與64 bit registry實體
各registry key詳細的redirection與reflection狀況需參考 Registry Keys Affected by WOW64。
其他注意事項:
- registry寫入時,如果開頭為%ProgramFiles%或%commonprogramfiles%,會視情況自動改寫為"%ProgramFiles(x86)%"或"%commonprogramfiles(x86)%"。
- 以下目錄也會視情況被改寫: %windir%\system32, %SystemRoot%\system32, C:\windows\system32
參考
星期三, 12月 23, 2009
64 bit windows file system redirector
32bit軟體存取路徑時的重新導向原則
- %windir%\System32 -> %windir%\SysWOW64
- %windir%\lastgood\system32 -> %windir%\lastgood\SysWOW64
- %windir%\regedit.exe –> %windir%\SysWOW64\regedit.exe
- 注意: 如果過程中觸發了UAC prompt, 則上述重新導向都不會發生。將會發生32bit軟體試圖執行64bit DLL或其他程式的問題。
- 若要避免此問題,需在該32bit程式中直接引用SysWOW64
其他注意事項
- 應用程式應使用SHGetSpecialFolderPath來取得%ProgramFiles%路徑
- 取消或啟動重新導向: Wow64DisableWow64FsRedirection, Wow64EnableWow64FsRedirection, and Wow64RevertWow64FsRedirection
- 在重新導向啟動的狀態下,若32bit程式若要存取真的%windir%\System32,需改用%windir%\Sysnative
- 64bit程式不應使用%windir%\Sysnative
星期四, 12月 10, 2009
在Webdashboard上建立link直接連接到造成此次build的subversion revision頁面
在header.xsl的<xsl:template match="/cruisecontrol/modifications/modification">區塊中加入以下片段:
<xsl:if test="changeNumber">
<tr>
<td class="header-label" valign="top">
<nobr>ChangeSet of XXXXX</nobr>
</td>
<td class="header-data">
<a>
<xsl:attribute name="href">
http://xxxx/changeset/<xsl:value-of select="changeNumber"/>
</xsl:attribute>changeSet <xsl:value-of select="changeNumber"/>
</a>
</td>
</tr>
</xsl:if>
星期二, 12月 01, 2009
windows上Python第一次使用步驟
編輯與執行python程式
- 下載python
- 執行IDLE (Python GUI)
- Ctrl+N編輯新python程式或Ctrl+O開啟已經存在的python程式
- F5執行
撰寫python unit test程式
import sys
import unittestdef SayHello(name):
return "hello " + nameclass TestSayHello(unittest.TestCase):
def testHelloAska(self):
self.assertEqual("hello Aska", SayHello("Aska"))
def testHelloWorld(self):
self.assertEqual("hello World", SayHello("World"))
if __name__ == "__main__":
if len(sys.argv) < 2:
unittest.main()
else:
SayHello(sys.argv[1]);
星期二, 9月 01, 2009
Tomcat安裝後無法進入管理介面
預設的C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\tomcat-users.xml有問題,需修改成類似以下的內容:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<role rolename="admin"/>
<user name="管理者名稱" password="管理者密碼" roles="admin,manager" />
</tomcat-users>
