Forum Discussion
Deployment Framework for BizTalk 2020
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>
- bessergJun 14, 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.
- Ivan-1320Jun 19, 2023Copper ContributorHi Everyone,
I have a question. I have a dev machine where I do my development for biztalk 2020 using framework 4.8 and BTDF V5.8. When I install my apps using the Visual studio 2019 Biztalk extensions I can install the applications no issues. And the with the following settings in BizTalkDeploymentFramework.targets.
<Target Name="SetToolsVersionParam">
<CreateProperty Value="/tv:12.0" Condition="'$(MSBuildToolsVersion)' == '12.0'">
<Output TaskParameter="Value" PropertyName="ToolsVersionParam" />
</CreateProperty>
</Target>
When I build an msi of the project and I deploy it to biztalk sever in UAT, I need to apply the above fix for SetToolsVersionParam by dropping 12 to 4. Question why can I not use 12 on the server?
Another Question, as I do both both biztalk and .net6 development on the dev machine, this has not been an issue, however I recently need to install the .net6 runtime on the biztalk server for a service and the fix above for SetToolsVersionParam stopped working. I cannot get it to install apps. I get there error MSB4067: The element <ItemDefinitionGroup> beneath element <Project> is unrecognized even when SetToolsVersionParam is set to 4.0.
Any help will be appreciated.