我有一个包含多个项目(csproj 和 btproj)的解决方案。我实际上正在运行 BizTalk 2013 R2,因此我在 Visual Studio 2013 下进行开发。我有许多 powershell 脚本来部署我的应用程序,我必须增强它们。
我需要阅读或确定解决方案的项目构建顺序,以按此顺序部署我的程序集。好的,我可以在“项目->项目依赖项”下获取它,但是这些信息存储在哪里?或者我如何使用 powershell 以编程方式确定它们?
我尝试了这个脚本,但它为我的所有项目返回 0 个依赖项。可能是因为我的解决方案是 2013 年,并且我正在使用v14.0\Microsoft.Build.dll
. v12.0\Microsoft.Build.dll
不返回任何项目。
Add-Type -Path (${env:ProgramFiles(x86)} + '\Reference Assemblies\Microsoft\MSBuild\v14.0\Microsoft.Build.dll')
$solutionFile = "sln file full path"
$solution = [Microsoft.Build.Construction.SolutionFile] $solutionFile
$projects = $solution.ProjectsByGuid.Values | Where-Object {($_.ProjectType -eq 'KnownToBeMSBuildFormat') -and ($_.ProjectName -notlike '*.BAM') -and ($_.ProjectName -notlike '*.Bindings')}
echo $projects.Count
foreach($project in $projects)
{
echo $project.ProjectName $project.Dependencies.Count
}
另一种方法是解析 btproj 和 csproj 文件,但似乎很难编写基本功能的代码。
没有脚本可以执行此操作,但通常使用 BizTalk,您会希望按以下顺序部署项目。
- 辅助类
- Schemas
- 管道(可以引用辅助类)
- 地图(将依赖于模式和可能的辅助类)
- 编排(可以依赖于辅助类、映射和模式)
- 绑定文件(可以引用编排、管道和映射)。
当然,只有当您是这样构建项目时,上述内容才有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)