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必须存在于构建盒~~某处。
..