BTDF / DeploymentFramework

The Deployment Framework for BizTalk is the most powerful and customizable, yet easy-to-use toolkit for deploying and configuring your BizTalk solutions.
MIT License
53 stars 24 forks source link

FrameworkDir property is not set to the expected value when btdfproj script is invoked command line #364

Closed tfabraham closed 6 years ago

tfabraham commented 6 years ago

I am using VS 2013 and MSBuild 12.0. FrameworkDir is passed by default to the MSBuild script when being invoked. For instance:

will output C:\Windows\Microsoft.NET\Framework\

BTDF however expects it to be C:\Windows\Microsoft.NET\Framework\v4.0.30319

but it has the following definition:

$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPathToDotNetFramework(Microsoft.Build.Utilities.TargetDotNetFrameworkVersion.$(DotNetFrameworkVersion)))

Due to the condition, the expected value will never be computed... and every usage of the property (e.g. when calling InstallUtil.exe) will entail some failure. Also, MSBuild 12.0 comes with a new built-in property that already has the expected value, i.e. MSBuildFrameworkToolsPath. Change the BTDF property name FrameworkDir to DotNetFrameworkDir.

This work item was migrated from CodePlex

CodePlex work item ID: '10782' Assigned to: 'tfabraham' Vote count: '1'

tfabraham commented 6 years ago

[tfabraham@11/13/2014] The BTDF Visual Studio addin never passes the FrameworkDir property to MSBuild.exe. What do you mean by "when being invoked?"

v6.0 beta has been tested with VS 2013 and BizTalk 2013 R2 with IDE-based and MSI deployments, and I have not seen or heard of this issue until now (not to say there isn't an issue).

tfabraham commented 6 years ago

[UnknownUser@11/13/2014]

tfabraham commented 6 years ago

[fchabot@11/13/2014] I am not using the addin, only command line... I am not a big fan of the VS-addin, but my last experience with it dates back to VS2008 :o However I prefer not to run my VS with elevated rights... that's why all command line!

So what I mean is simply launch a VS2013 command prompt and typing, for instance

MSBuild test.btdfproj

In this case FrameworkDir is set by default, as in my previous sample.

tfabraham commented 6 years ago

[UnknownUser@11/13/2014]

tfabraham commented 6 years ago

[UnknownUser@11/13/2014]

tfabraham commented 6 years ago

[tfabraham@11/13/2014] There's the key: "a VS2013 command prompt". The VS 2013 Command Prompt sets a slew of environment variables, one of which is FrameworkDir, and MSBuild automatically makes all environment variables into properties. This is an unfortunate collision of names since I also choose the name FrameworkDir. I suppose I can change mine to NetFrameworkDir...

tfabraham commented 6 years ago

[fchabot@11/14/2014] That would be nice... and helpful ;) Thanks!!!

tfabraham commented 6 years ago

[UnknownUser@8/26/2015]

tfabraham commented 6 years ago

[UnknownUser@8/26/2015] Resolved with changeset 77169.