Exe
net48
12.0
enable
D365MetadataBridge
D365MetadataBridge
false
true
true
MSB3277;MSB3106
K:\AosService\PackagesLocalDirectory\bin
C:\AosService\PackagesLocalDirectory\bin
J:\AosService\PackagesLocalDirectory\bin
I:\AosService\PackagesLocalDirectory\bin
D:\AosService\PackagesLocalDirectory\bin
E:\AosService\PackagesLocalDirectory\bin
F:\AosService\PackagesLocalDirectory\bin
G:\AosService\PackagesLocalDirectory\bin
H:\AosService\PackagesLocalDirectory\bin
L:\AosService\PackagesLocalDirectory\bin
M:\AosService\PackagesLocalDirectory\bin
N:\AosService\PackagesLocalDirectory\bin
O:\AosService\PackagesLocalDirectory\bin
P:\AosService\PackagesLocalDirectory\bin
Q:\AosService\PackagesLocalDirectory\bin
R:\AosService\PackagesLocalDirectory\bin
S:\AosService\PackagesLocalDirectory\bin
T:\AosService\PackagesLocalDirectory\bin
U:\AosService\PackagesLocalDirectory\bin
V:\AosService\PackagesLocalDirectory\bin
W:\AosService\PackagesLocalDirectory\bin
X:\AosService\PackagesLocalDirectory\bin
Y:\AosService\PackagesLocalDirectory\bin
Z:\AosService\PackagesLocalDirectory\bin
all
runtime; build; native; contentfiles; analyzers
false
<_MetamodelDll>$(D365BinPath)\Microsoft.Dynamics.AX.Metadata.dll
Version = System.Diagnostics.FileVersionInfo.GetVersionInfo(FilePath).FileVersion ?? "";
();
var pending = new System.Collections.Generic.Stack();
pending.Push(System.IO.Path.GetFullPath(ProjectDir).TrimEnd('\\', '/'));
while (pending.Count > 0)
{
var dir = pending.Pop();
foreach (var sub in System.IO.Directory.GetDirectories(dir))
{
var name = System.IO.Path.GetFileName(sub);
if (name != "obj" && name != "bin") pending.Push(sub);
}
foreach (var file in System.IO.Directory.GetFiles(dir))
if (file.EndsWith(".cs", System.StringComparison.Ordinal) || file.EndsWith(".csproj", System.StringComparison.Ordinal)) files.Add(file);
}
files.Sort(System.StringComparer.Ordinal);
var root = System.IO.Path.GetFullPath(RepoRoot).TrimEnd('\\', '/');
var manifest = new System.Text.StringBuilder();
using (var sha = System.Security.Cryptography.SHA256.Create())
{
foreach (var file in files)
{
var rel = file.Substring(root.Length).TrimStart('\\', '/').Replace('\\', '/');
var content = new System.Text.UTF8Encoding(false).GetString(System.IO.File.ReadAllBytes(file)).Replace("\r\n", "\n");
var fileHash = System.BitConverter.ToString(sha.ComputeHash(System.Text.Encoding.UTF8.GetBytes(content))).Replace("-", "").ToLowerInvariant();
manifest.Append(rel).Append(':').Append(fileHash).Append('\n');
}
var hash = System.BitConverter.ToString(sha.ComputeHash(System.Text.Encoding.UTF8.GetBytes(manifest.ToString()))).Replace("-", "").ToLowerInvariant();
System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(System.IO.Path.GetFullPath(OutputFile)));
System.IO.File.WriteAllText(OutputFile,
"{\n \"sourceHash\": \"" + hash + "\",\n \"sourceFileCount\": " + files.Count + ",\n \"builtAt\": \"" + System.DateTime.UtcNow.ToString("o") + "\"\n}\n");
}
]]>