Welcome to the superhero D365FO R&D team. ;) Join us in this adventure of building the best D365FO customization in the world!
This template repository shows you how to use multiple projects (Git repositories) on D365FO OneBox or UDE using Git.
The Git repository contains a single root folder with all the files and subfolders. This is why we need to make the models visible to D365FO (:\AOSService\PackagesLocalDirectory) by creating Symbolic links to model folders on the filesystem.
Using the described approach you can use multiple Git repositories (e.g., solutions or customizations) on the same D365FO OneBox environment without hassle.
To do so, follow the next instructions (before you start, make sure you have Visual Studio closed):
- Create Symbolic Links to your D365FO models in :\AOSService\PackagesLocalDirectory executing the following commands in
PowerShell
as anAdministrator
.\AOS_CreateMetadataSymbolicLinks.ps1
- Remove models that you don't need
If you only need some of the models, please delete the not needed ones directly from the :\AOSService\PackagesLocalDirectory folder.
NOTE: You will delete only symbolic links and not the source folders!
All new models will be created in :\AOSService\PackagesLocalDirectory. After you have created the model, please close Visual Studio and move the model to *Metadata folder.
NOTE: To create symbolic links again, you need to run the
.\AOS_CreateMetadataSymbolicLinks.ps1
.
Both scripts detect the D365FO package's local folder, but with UDE environments, you have a custom metadata folder, which is set through the 'Visual Studio > Dynamics 365 Extension > Configure Metadata'
in setting 'Folder for your own custom metadata'
. To create a symbolic link, use .\AOS_CreateMetadataSymbolicLinks.ps1 -PackagesLocalFolder "C:\CustomAOS\PackagesLocalDirectory"
.
NOTE: To remove use the same parameter with script
.\AOS_RemoveMetadataSymbolicLinks.ps1 -PackagesLocalFolder "C:\CustomAOS\PackagesLocalDirectory"
.
The repository starts with the following folder structure:
_Common
- Folder containing commonly used artifacts (e.g., Example documents, Licenses, Logos, Common browser links, etc.).Metadata
- Folder containing all D365FO modules and models (e.g., Docentric AX, Docentric AX Extensions, Docentric AX Emails, etc.).Projects
- Folder containing Visual Studio files (e.g., solutions, projects gluing the D365FO model artifacts, .Net projects, etc.), automation scripts and other artifacts..gitattributes
- Defines project-based rules for manipulating files and paths attributes when a GIT action is performed (e.g., line-endings, file compare, etc.)..gitignore
- Defines project-based rules for ignoring files and folders in the Git repository.
It's up to you to write the contribution guidelines for your team. ;)
If you are using GitFlow and are doing Pull Request, it makes sense you install the following VS extensions:
To use GifFlow use the following extension:
NOTE: Pull requests are already supported in Visual Studio 2022 Git client.
There are many online resources that can help you get started in the wonderful world of .NET and X++. Here are some resources to get you started.
Useful X++ and Microsoft Dynamics 365 Finance and Operations application development links:
- Finance and Operations application documentation
- X++ language reference
- API, class, and table resources
- Learn Finance and Operations
- Unified developer experience for finance and operations apps
- Udemy: Microsoft Dynamics 365 Courses
- Forums:
Useful .Net links:
- C# Programming Guide (MSDN/Microsoft, Free)
- C# Fundamentals For Absolute Beginners (Channel9/Microsoft, Free)
- C# Path (Pluralsight, Paid)
Useful GIT links: