✏️ Explanatory Question

How should solutions and projects be organised in Dynamics 365 Finance & Operations development? What is the guiding principle for structuring them, when can a single solution hold multiple projects, and why must they be under source control?

👁 3 Views
📘 Detailed Answer
🟢 Easy
💡

Answer with Explanation

D365 F&O • X++ INTERVIEW

Solutions & Projects in Dynamics 365 Finance & Operations

Question 41 — Organising code into solutions and projects and keeping them under source control.

Interview Question

How should solutions and projects be organised in Dynamics 365 Finance & Operations development? What is the guiding principle for structuring them, when can a single solution hold multiple projects, and why must they be under source control?

Model Answer (Short)

A Visual Studio solution can contain multiple projects, but the guiding principle is one solution per project per functional unit — keeping each functional area cleanly separated. The exception is common functionality: when you build shared/common features, it's acceptable to have one solution with multiple projects. Regardless of structure, both solutions and projects must be added to source control (version control) so the code is tracked, shareable and recoverable across the team.

Detailed Explanation

Structuring principle

  • A solution can have multiple projects.
  • Principle: one solution per project per functional unit.
  • Exception: for common functions, one solution with multiple projects is acceptable.
  • Each functional area stays cleanly separated and easy to manage.

Source control

  • Solutions and projects must be added to source control (version control).
  • Ensures code is tracked, shareable and recoverable across the team.
  • Aligns with the project-per-function naming convention for traceability.
GUIDING PRINCIPLE
One solution / project = per functional unit  •  Common code = one solution, many projects

Structure Options

Scenario Recommended structure
Single functional unit One solution, one project
Common / shared functionality One solution, multiple projects
Any structure Must be under source control

Prerequisites (Rule 5)

  • Visual Studio with the Dynamics 365 developer tools.
  • A custom model / package for your objects.
  • A connected version control repository (e.g. Azure DevOps).

Example — Solution & project layout

A conceptual layout following the project-per-function principle:

# One solution per functional unit
Solution: Abc_Finance
   └── Project: Abc_FIN01_InvoiceAutomation

Solution: Abc_SupplyChain
   └── Project: Abc_SCM07_OrderToCash

# Exception: common functionality -> one solution, many projects
Solution: Abc_Common
   ├── Project: Abc_CMN_Utilities
   ├── Project: Abc_CMN_Extensions
   └── Project: Abc_CMN_Framework

# All of the above are added to source control (version control)

Points the interviewer wants to hear

  • A solution can hold multiple projects.
  • Principle: one solution per project per functional unit.
  • Common functions may use one solution with multiple projects.
  • Solutions and projects must be under source control.
  • Keeps functional areas separated, traceable and recoverable.

Likely Follow-up Questions

  • When is it acceptable to have multiple projects in one solution?
  • Why must solutions and projects be under source control?
  • How does this relate to the project-per-function naming convention?
  • What are the benefits of separating functional units into their own solutions?

Key Takeaway

Organise code as one solution per project per functional unit, allowing a single solution with multiple projects only for common functionality — and always keep solutions and projects under source control for traceability and recoverability.