【问题标题】:MS build of solution which references dll from other class library project.MS 构建的解决方案引用了其他类库项目中的 dll。
【发布时间】:2016-08-04 07:31:32
【问题描述】:
我正在使用 Jenkins 进行 CI。
我的应用程序-(解决方案名称 HP_app)是一个 vb.net windows 窗体(存储库 https://XXXXXX.org/scm/HP/HP_app.git)
Windows 窗体引用类库中的 .dll(解决方案名称 HP_app_lib)(存储库 https://XXXXXX.org/scm/HP/HP_app_lib.git)
我为每个解决方案设置了两个单独的 Jenkins 作业。类库解决方案构建完美。现在 windows 窗体解决方案依赖于 HP_app_lib.dll。
<SpecificVersion>False</SpecificVersion>
<HintPath>..\HP_app_lib\bin\Debug\HP_app_lib.dll</HintPath>
</Reference>
如何使用 msbuild 构建 Windows 窗体。
【问题讨论】:
标签:
visual-studio
jenkins
msbuild
【解决方案1】:
@user2211290 windows 窗体项目和程序集文件结构应该是这样的:
HP_app_lib
--bin
--Debug
--\HP_app_lib.dll
[windows 窗体项目文件夹(如 HP_app)]
--[windows窗体项目名称].vbproj
之后直接通过msbuild构建windows form项目,例如:MSBuild [windows form project name].vbproj。
【解决方案2】:
我找到了解决方案。
由于 windows 窗体解决方案是引用类
库 - 单独独立的 VS 解决方案也在不断变化。
Below project reference in MSBuild file is changed from
<HintPath>..\HP_app_lib\bin\Debug\HP_app_lib.dll</HintPath>
To file path in Jenkins server <HintPath>C:\jenkins\workspace\CI_FASET_LIB\bin\Debug\FASETLib.dll</HintPath>
还有一些提示。
通常构建服务器不会安装 Visual Studio。Jenkins MS 构建正在 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5 中搜索 Microsoft.office.Interop.word.dll 和 ADODB.dll。
所以我已经将这些 dll 从开发机器移动到构建服务器 .net 框架路径。
我们得到了 VS 的开发机器,它们位于。
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Office14