Forum Discussion
Deployment Framework for BizTalk 2020
AmitaBarge1gmailcom​ Update: the Visual Studio 2019 extension is available as of January 2026.
v5.8 of the Framework itself is available in release candidate form for BizTalk 2020.
You can follow the VS extension https://github.com/BTDF/ToolsForVisualStudio.
Thanks,
Thomas Abraham
tfabraham - I have installed the BTDF V5.8 to be used for BizTalk 2020 upgrade/migration project.
Although the build path had to be changed to the VS2019 current\bin folder inorder to build, I am facing an issue with the deployment with the error as below.
BizTalkDeploymentFramework.targets(1769,3): error MSB4067: The element <ItemDefinitionGroup> beneath element <Project> is unrecognized.
Upon further checking the files, it has below code; which wasnt in the v5.7. What is the use of this below code and how to resolve the error MSB4067?
<ItemDefinitionGroup>
<IISAppPool>
<DotNetFrameworkVersion>v4.0</DotNetFrameworkVersion>
<PipelineMode>Integrated</PipelineMode>
<Enable32Bit>False</Enable32Bit>
<IdentityType>ApplicationPoolIdentity</IdentityType>
<DeployAction>$(IISAppPoolDefaultDeployAction)</DeployAction>
<UndeployAction>$(IISAppPoolDefaultUndeployAction)</UndeployAction>
</IISAppPool>
</ItemDefinitionGroup>
<ItemDefinitionGroup>
<IISApp>
<SiteName>Default Web Site</SiteName>
<DeployAction>CreateOrUpdate</DeployAction>
<UndeployAction>Delete</UndeployAction>
</IISApp>
</ItemDefinitionGroup>
- bessergMay 20, 2021Copper Contributorglav27 - resolved the above issue by using the packaged framework assemblies included in "MyBTProject\1.0\Deployment\Framework" with the 5.7 versions (e.g.: BizTalkDeploymentFramework.Tasks.dll). Something when packaging from VS2019 has those assemblies on a different build version, reverting them resolved the problem for us. Would be great to have these work by default for BT2020 and VS2019 🙂
- bessergJun 13, 2021Copper Contributor
glav27 - Resolved the problem by modifying C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets
from
<Target Name="SetToolsVersionParam">
<CreateProperty Value="/tv:12.0" Condition="'$(MSBuildToolsVersion)' == '12.0'">
<Output TaskParameter="Value" PropertyName="ToolsVersionParam" />
</CreateProperty>
</Target>
to
<Target Name="SetToolsVersionParam">
<CreateProperty Value="/tv:4.0" Condition="'$(MSBuildToolsVersion)' == '4.0'">
<Output TaskParameter="Value" PropertyName="ToolsVersionParam" />
</CreateProperty>
</Target>
then the generated MSI works as expected :+1:- _JERKER_Mar 14, 2023Copper ContributorYes, this was the final solution for me after having problems after installing 5.8 RC1 (using the value of "12.0"). Luckily, I had an old package using earlier version and compared the .target files and found out the difference.