http://msbuildextensionpack.codeplex.com/
有VB6的建設任務。但是,這只是vb6.exe/make的一個奇妙的包裝。
阿卡的MSBuild任務有助於建立一個命令行是這樣的:
C:\ Program Files文件\微軟的Visual Studio \ VB98 \ VB6.EXE/MAKE/OUT」 .. \ myProjectFolder的\ MyOldSchoolVB6Project.vbp。日誌 「 」.. \ myProjectFolder的\ MyOldSchoolVB6Project.vbp「/ OUTDIR」 「.. \ MyProjectBuildResults \ BIN」
你不需要msbuildextensionpack任務必然,但我覺得它更好地從長遠來看,使用。 (你的另一種選擇是連接執行任務和「硬打電話」上面的命令行。
有沒有辦法建立一個。沒有VB6.EXE的vbp。接受這個事實,你的世界會更有意義。
我會建議把絕對最小公分母vb6安裝在生成機器上(又名,UNCHECK每個選項可能)。
然後編寫您的.msbuild文件。
事情是這樣的:
(我不定義SourceFilesBaseDirectory或OutputBuildDirectory,僅供參考)
<PropertyGroup>
<!-- This allows a way to provide a few options for the library -->
<TPath>$(MSBuildProjectDirectory)\..\MSBuild.ExtensionPack.tasks</TPath>
<TPath Condition="Exists('$(ProgramFiles)\MSBuild\ExtensionPack\MSBuild.ExtensionPack.tasks')">$(ProgramFiles)\MSBuild\ExtensionPack\MSBuild.ExtensionPack.tasks</TPath>
</PropertyGroup>
<Import Project="$(TPath)"/>
<ItemGroup>
<ProjectsToBuildIT001 Include="$(SourceFilesBaseDirectory)\MyProjectFolder\MyOldSchoolVB6Project.vbp">
<OutDir>$(OutputBuildDirectory)</OutDir>
</ProjectsToBuildIT001>
</ItemGroup>
<Target Name="BuildTheVBProjects001" >
<MSBuild.ExtensionPack.VisualStudio.VB6 TaskAction="Build" Projects="@(ProjectsToBuildIT001)"/>
</Target>
我個人不喜歡我的主要構建機器上VB6.EXE。但那是我。
謝天謝地.Net 2.0及更高版本提出了一種構建不依賴於IDE的代碼的方法。
「硬打電話」看起來像這樣。你會試圖將它縮短並試用它,它可能會奏效。但是,我相信上面的任務是更清潔的。
<exec program="c:\myfolder\myexe.exe" failonerror="false">
<arg value="/MAKE" />
</exec>
這只是一個例子,它需要一些修補才能讓它正確。
但是在一天結束時,vb6.exe必須存在於構建盒~~某處。
..