保存解决方案构建顺序的位置

时间:2017-09-21 13:45:36

标签: visual-studio powershell visual-studio-2013 biztalk-deployment sln-file

我有一个包含多个项目的解决方案(csproj& btproj)。我实际上在运行BizTalk 2013 R2,所以我在Visual Studio 2013下开发。我有许多PowerShell脚本来部署我的应用程序,我必须加强它们。

我需要阅读或确定项目构建顺序,以便按此顺序部署我的程序集。好的,我可以在“Project-> Project Dependencies”下获得它,但这些信息存储在哪里?或者如何使用powershell以编程方式确定它们?

我尝试了这个脚本,但它为我的所有项目返回0个依赖项。可能是因为我的解决方案是2013年,而我正在使用v14.0\Microsoft.Build.dllv12.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文件,但似乎很难为基本函数编写代码。

0 个答案:

没有答案
相关问题