Comments (9)
it will be really usefull !
thanks for this this wonderfull tools !
from d365fo.tools.
Are you missing something for the full compile there is already implemented? Or are you loooking for partial compile ?
from d365fo.tools.
Are you missing something for the full compile there is already implemented?
Are you saying that there is already a function available for full compile? If so, which one is it?
from d365fo.tools.
The only thing we have is the full database sync.
As per the post from the link, we have the XPPC.exe tool available, which is what Visual Studio is depending on. We can go several ways with that.
-
We simple investigate how to succeed with a compile for a given Visual Studio project, using the XPPC.exe tool. We should be able to learn something from the build server, because it depends on the Visual Studio projects folder. Inside some of the files in a project should be a list of modules that a given project has checked during development.
-
After some investigation we simply offer users the ability to pipe or list module names, that we prep into the XPPC.exe parameters and execute it. That puts the effort onto the user, that they need to understand what they want to be compiled.
@ITRasmus What is your take on this?
from d365fo.tools.
I have just looked into it.
Visual studio relies on the Microsoft.Dynamics.Framework.Tools.BuildTasks.dll, file for compiling.
It basicly just takes the list of modules and then compiles them, but i has allso seperate functions for BestPractice test, Reports and so on.
I think we should go for Option 2, and then later we can use that for implementing a oneliner for full compile.
from d365fo.tools.
So a simple test with a new Visual Studio project (and model), that should fail a compile. Then see if we can make the XPPC.exe compile it and return the same error as Visual Studio. When that is done, we edit the project (model) to actually be able to compile it inside Visual Studio. Then we retry things using the XPPC.exe and see if it works.
Anyone up for the challenges?
from d365fo.tools.
Something like:
xppc.exe -metadata="k:\AosService\PackagesLocalDirectory" -modelmodule="Dimensions" -output="K:\AosService\PackagesLocalDirectory\Dimensions\bin" -referencefolder="k:\AosService\PackagesLocalDirectory"
from d365fo.tools.
Here you go
using Microsoft.Dynamics.AX.Framework.Xlnt.ILGenerator;
using Microsoft.Dynamics.AX.Framework.Xlnt.XppParser.Pass2;
using System;
class Program
{
const string PackagesLocalDirectory = @"k:\AosService\PackagesLocalDirectory";
static void Main(string[] args)
{
string moduleToCompile = "Retail";
ServiceMetadataProvider provider = new ServiceMetadataProvider(PackagesLocalDirectory, true, true, true, moduleToCompile);
var modules = provider.GetReferencedModules();
foreach (var module in modules )
{
CompileModule(module);
}
CompileModule(moduleToCompile);
Console.ReadLine();
}
static void CompileModule(string module)
{
Parameters parameters = new Parameters();
parameters.XppMetadataPath = PackagesLocalDirectory;
parameters.ModelModuleName = module;
parameters.ReferencedAssembliesFolder = PackagesLocalDirectory;
parameters.AssemblyOutputPath = System.IO.Path.Combine(PackagesLocalDirectory, module, "bin");
ILGeneratorMain.Compile(parameters);
}
}
from d365fo.tools.
@Splaxi I think this issue can be closed since there is Invoke-D365ModuleFullCompile since March 2019.
from d365fo.tools.
Related Issues (20)
- bacpac import now don't work HOT 26
- Remove documentation for cmdlets that no longer exist HOT 1
- :sparkles: New cmdlet(s) for ModuleToRemove.txt to uninstall a package HOT 3
- Start-LcsDatabaseRefreshV2. The remote server returned an error: (401) HOT 3
- Import-D365Bacpac: The login already has an account under a different user name HOT 11
- Switch-D365ActiveDatabase issues HOT 4
- New Parameter for SqlPackage.exe HOT 2
- Invoke-D365DBSync issues HOT 5
- Get a list of custom modules HOT 10
- Cannot get Token from LCS HOT 5
- 🚸 All cmdlets with module/model parameters should support `ValueFromPipelineByPropertyName` and `ValueFromPipeline` HOT 2
- :sparkles: Drop all views with `_SHARING` in their name before creating .bacpac on T1 environment HOT 3
- Guidance on `Invoke-D365LcsApiRefreshToken` usage HOT 10
- 👷 Add a GitHub action that executes the scripts of the building tools HOT 1
- d365fo.tools/d365fo.tools/internal/sql/set-bacpacvaluessql.sql Incorrect syntax if dbname include hypern HOT 6
- Select-PSFObject in Azure AutomationAccount runbook HOT 5
- ➖ ➕ Remove PSNotification, replace AzureAd with Microsoft.Graph HOT 2
- Bug in Get-D365Module function as it only detects custom models if they were built at least once HOT 10
- Invoke-D365InstallSqlPackage installs old version of SQLPackage HOT 16
- Az.Storage changes in v0.7.0+ breaks AzureRM usage in existing scripts HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from d365fo.tools.