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

Search all sub-folders for <solutionNameNoExtension>.Deployment.btdfproj #430

Open tfabraham opened 6 years ago

tfabraham commented 6 years ago

In the DeploymentFramework.VisualStudioAddIn.Util.GetDeploymentProjectPath method, it would be good if the solution searched all subfolders below the solution file for the .Deployment.btdfproj

If I structure my code in folders as I would like them to be, when running the BTDF Visual Studio menu\toolbar options, I get the error message:

_“Could not find a .btdfproj file for this solution. Valid locations relative to the solution root are: .Deployment\.Deployment.btdfproj,

.Deployment\Deployment.btdfproj, Deployment\.Deployment.btdfproj or Deployment\Deployment.btdfproj.",_ I would be keen to have all my BizTalk application solution files in a root folder with code for these different BizTalk applications in sub-folders that don’t match what BTDF currently requires. This .Deployment.btdfproj files would still be unique across the folder structure. #### This work item was migrated from CodePlex CodePlex work item ID: '11177' Vote count: '1'
tfabraham commented 6 years ago

[tfabraham@7/17/2017] Hi Charlie,

Thanks for the feedback. It was implemented with those limitations for performance reasons and to keep the implementation simple. The add-in doesn't track the location of the .btdfproj(s) as the state of the solution and its projects changes. As a result, the search happens every time a BTDF command begins. The limitations ensure that the repeated search time is negligible. The ultimate solution is still the most complex (by far) -- a full blown custom project type. I'll track this on the backlog.

Thanks! Tom

tfabraham commented 6 years ago

[charliemott@7/18/2017] Thanks for the response. I would personally accept some (not a lot) performance drop in BTDF to support my ideal source code structure for BizTalk solutions. I am keen to maintain just a single copy of the following files across all our BizTalk application solutions. These files need to reside in the same file as the solution file.

CustomDictionary.xml Settings.StyleCop .DotSettings (Resharper) sit.runsettings

I did look into some TFS source control mechanism of synchronising these files in multiple folders. But this does not seem to exist in TFS (https://stackoverflow.com/questions/17433932/tfs-check-out-in-different-folders-at-once).

tfabraham commented 6 years ago

[tfabraham@7/24/2017] I've packaged some of those same files in one or more custom, internal NuGet packages, so that they can be easily shared and centrally managed in source control. It worked very well. Even if your BizTalk version doesn't support NuGet packages in the projects, you can always add custom steps in the project to call NuGet.exe.

Tom