web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Finance | Project Operations, Human Resources, ...
Unanswered

Application checker - seriously in use or what is the status of this tool?

(0) ShareShare
ReportReport
Posted on by 96

Hi Guys,

today I have done some research concerning the topic "Application Checker" (https://github.com/microsoft/Dynamics365FO-AppChecker). On the github page is a link to the microsoft documentation for it. In the microsoft documentation the documentation is exactly one paragraph including a link back to github.

Is this really the only documentation for this tool? Is this tool used currently by microsoft? Does someone know what is the current status and if there will be some updates?

Cheers,

Chicinho

I have the same question (0)
  • Junaid Idrees Profile Picture
    on at

    Hi Cihan Ucar,

    You are right, that is the only official document provided by microsoft on github.

    But did you check the below link:

    ariste.info/.../

  • Chicinho54 Profile Picture
    96 on at

    Hi Junaid Idrees,

    thank you very much for your feedback.

    The link which you provided is just a short blog about Application Checker.

    I am really disappointed from X++ Development as a developer.

    Why is GIT still not standard in X++ Development?

    Why is their no one public website for X++ Development news?

    Where it is described what is difference between Best Practices Rules in Visual Studio, CAR Report and the Application Checker?

    TFS as Source Control with X++ has a lot of bugs (e.g. renaming never worked for me), why are theire no improvements or bugfixes?

    Is it now possible and officially supported to use a own machine for X++ development instead of having a VM (dowloaded or cloud hosted)?

    Itellisense is full of bugs and slow?

    No static code analysis

    No automatic Configuration Mangement

    Is Visual Studio 2019 now supported or not?

    Imagine what kind of support you get in case of ASP.NET Development, .NET Developmen, C# Development, Laravel etc.

    Cheers,

    Chico

  • Joris dG Profile Picture
    17,775 on at

    Hi Chico,

    you have valid criticism and we're aware of these. There are lots of complications here, I'll just touch on some high levels.

    Our tooling is tightly coupled with the F&O runtime and version. Our distribution is currently on the VMs which are also version-bound. This presents a lot of challenges, one of them in relation to compatibility. The VM-based development is also essentially an "F&O Environment, with dev tools". Meaning the dev tools are secondary and tied to the environment on the VM. This for example presents challenges to support Git properly. Now, you can do Git today - many people do. Our internal teams recently switched to using Git. But it's not quick and easy due to how the RUNTIME reads and expects the binaries/code to be available.

    This brings us to the local development. We envisioned local development to address many of these issues. We decoupled the dev tools as a dependent of the runtime. Instead, it is the dev tools stand-alone, and it can spin up/run a runtime if/when available, and configure it. This also allows you to switch between code bases (which the VM cannot because it would break updating the environment), as well as support splitting up code/binaries and even allowing them in multiple folders (which makes Git support much easier).

    The amount of effort here was tons more than expected, showing the engrained legacy of X++ embedding into its runtime. I'm happy to say that even though we are a year past where we had hoped to be, the work has continued and you'll finally get to try a preview in 2021.

    I really wished I had a way to communicate with/to ALL X++ developers in the world but unfortunately that is not the case. Best I can offer is "unofficial" channels including my personal social media. I try to be open and honest, and I engage a lot here and specifically on my Twitter account. My accounts are labeled as "opinions are my own and not necessarily Microsoft's".

    VS2019 is not officially supported but it's work in progress and our tooling should be pretty stable in the latest versions of F&O. Again, rolling this out is a surprisingly crazy amount of work, and there's always limitations where we can't deprecate support for an older release due to SLA obligations yet we can't fully support the next version without deprecating the older one (which would be breaking SLA). Welcome to my world, it's as frustrating to me as it is to you. VS2015 support will officially END with the April release which will allow us to creep forward. VS2019 is on the horizon and we're thinking about strategies for smoother rollouts to stay current with whatever is next.

    The X++ intellisense is mediocre at best. We're painfully aware of this. We bugfix things we find and can fix, but overall the thing needs to be replaced entirely (we're also stuck on an older language service backend of VS). This is a huge effort and a risky proposition (for regression risk), and we currently can't get this prioritized over other things.

    There's static code analysis with the Best Practice framework. Specifically to App Checker, the BaseX solution is not a good fit for our goals for "Application Checker". We're looking to leverage the compiler for new features we'll dub Application Checker instead, but we'll keep the BaseX solution alive because it adds a lot of value for some people - including for us internally - because it allows quick on-the-fly analysis and querying (best practice framework is much more involved to write).

    C# has somewhere in the 16 million developers using the language. I have no numbers on X++ but you can imagine it's many orders of magnitude smaller. Yet, the amount of Microsoft engineers working on the X++ language compared to the amount of developers out there using the language is likely much higher than the C# language (MSFT X++ engineers / X++ users). However, the amount of engineers working on X++ is limited and surely significantly smaller than the C# team. These are realities of software development that result in priorities having to be made. I'd replace intellisense tomorrow if I could, if that was reasonable given everything else we have to do. Sadly it isn't. This type of major investment is difficult, but I'm hopeful we'll get there.

    And finally, our audience. If you spend much time here on this forum, you'll notice the level of general development knowledge is overall much, much lower than on C# forums. That is mostly because X++ is the only way to customize F&O, and so many of the people using our tools are not actually developers, they're people trying to extend F&O but who have little software background. I doubt the C# team gets support tickets for people struggling to write a for-loop, but we do for X++. This is another reality where sometimes adding more features results in less productivity for the majority of our users, even though they would absolutely make sense for any regular Visual Studio user. For example, I actually am NOT looking forward to the day we announce Git tooling. Our support team is going to be flooded with people shooting themselves in the foot with branching etc. A sentiment I blogged about on my personal blog here: http://daxmusings.codecrib.com/2019/10/pushing-dragging-or-pulling-industry.html .

    As Power Platform comes up we're looking at more "citizen developer" options, and we can hopefully focus better to give pro devs what they need, and citizen devs what they need. That's the dream. We try hard and advocate internally for the features we know you need. The ALM CI/CD story was a big effort the past 12 months, for example.

    I appreciate your feedback and I understand your frustration. I've been at Microsoft for a little over 5 years, but I spent 13 years in the field as an X++ developer on implementations. One of the reasons I came to Microsoft is to inject my experience to improve things, and the cloud version and move to VS has given many opportunities for changes even though it can sometimes look like the remaining "legacy" is sticking out more ugly now than it was before perhaps. The fact you're frustrated means you care, which is good. I'm not trying to make excuses here, but trying to relay some harsh realities that exist, and provide some context. I hope you do see progress in some areas and that it gives you hope and confidence that other areas will get some tender love and care as well. Feel free to reach out to me on Twitter if you're over there, or more privately via any media I'm available.

  • André Arnaud de Calavon Profile Picture
    301,417 Super User 2025 Season 2 on at

    Hi Chico,

    A lot of your questions are known pains. Microsoft is aware of it. Can we stay on your original topic of the question? What additional information are you looking for on the Application checker which was not mentioned in the provided blog?

  • Chicinho54 Profile Picture
    96 on at

    Hi Joris,

    I can't describe accordingly how i appreciate your straight and professional feedback.

    This honestly motivates me even theire a lot of issues when it comes to X++ Development.

    So the Integration with GIT is challenging because you have to support various of Runtimes of D365 F&O? I am asking again, because like you said, you are using it internally and a lot of ISVs too. The reason why we didn't started to use GIT, because we don't know if we will have issues regarding the LCS integration.

    The local development success is really pleasant and hopefully it will make the GIT-Integration easier. How can I be actively informed when this preview is available?

    I am following you on twitter and I have sent you a request in linkedIn. Don't you have time for providing more videos on your Youtube-Channel or is theire another reason? I would love it to see more videos from you theire.

    Concerning the X++ Intellisense, I can live with that issue absolutely. I think also that theire are really more important topics first.

    Can you please shortly explain again what does this mean "We're looking to leverage the compiler for new features we'll dub Application Checker instead, but we'll keep the BaseX solution alive because it adds a lot of value for some people...."? Does it mean that the concept of the Application Checker will be built in to the compiler itselfe?

    Do you have somewhere a Roadmap for X++ Developers? I am not talking about this typical Sales Roadmap, really for developers? On which features you are currently working, what will be in the next releases and maybe a longer outlook? Are some projects of your team seriously open source?

    I like "harsh realities" because it gives you are clear understanding of the current situation and therefore where you want to be in future.

    One last question(s): Can you maybe explain me what is difference between CAR, Best Practice Framework and Application Checker? When and for what you would use each of them?

    Much respect to your efforst and motiviation, Joris.

    Cheers,

    Chico

  • Chicinho54 Profile Picture
    96 on at

    Hi André,

    can you maybe explain me what is difference between CAR, Best Practice Framework and Application Checker? When and for what you would use each of them?

    Cheers,

    Chico

  • Martin Dráb Profile Picture
    238,097 Most Valuable Professional on at

    You already have another thread for this question (Difference between CAR Report (Customization Analysis Report), Best Practice Framework and Application Checker?), therefore please don't duplicate it here.

  • Chicinho54 Profile Picture
    96 on at

    I asked directly André here because he asked me directly. I don't want to pollute the community by duplicating questions. Sorry if this looked like this.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

News and Announcements

Season of Giving Solutions is Here!

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > Finance | Project Operations, Human Resources, AX, GP, SL

#1
Abhilash Warrier Profile Picture

Abhilash Warrier 679 Super User 2025 Season 2

#2
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 429 Super User 2025 Season 2

#3
Martin Dráb Profile Picture

Martin Dráb 264 Most Valuable Professional

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans