BeforeBuild and AfterBuild events in Visual Studio Tools for Cordova 2015 Update 5 - visual-studio-cordova

I am trying to use pre and post build in my Visual Studio 2015 (TACO) project. As outlined in PreBuildEvent and PostBuildEvent on Visual Studio 2015 Tools for Apache Cordova I have added <Target> elements to my .jsproj file so that it now ends as shown:
<Import Project="_apacheCordovaProjectSourceItems.Targets" Condition="Exists('_apacheCordovaProjectSourceItems.Targets')" />
<Target Name="BeforeBuild">
<Exec Command="if $(ConfigurationName) == Release (echo ** Before Build **)" />
<Exec Command="attrib -R "$(ProjectDir)\platforms\*.*" /S" IgnoreExitCode="true" />
</Target>
<Target Name="AfterBuild">
<Exec Command="if $(ConfigurationName) == Release (echo ** After Build **)" />
<Exec Command="if $(ConfigurationName) == Release (xcopy "$(TargetDir)*.*" "$(SolutionDir)..\..\Binaries\$(PlatformName)\*.*" /Y /S /E /F /I)" />
</Target>
</Project>
My problem is that both the BeforeBuild and AfterBuild events fire at the beginning of the build
1>------ Build started: Project: MyProject, Configuration: Release Android ------
1> ** Before Build **
1> ** After Build **
1> D:\Workspaces\Products\MyProduct\Projects\Main\Sources\Apps\MyProject\bin\Android\Release\android-release-unsigned.apk -> D:\Workspaces\Products\MyProduct\Projects\Binaries\Android\android-release-unsigned.apk
1> D:\Workspaces\Products\MyProduct\Projects\Main\Sources\Apps\MyProject\bin\Android\Release\manifest-merger-release-report.txt -> D:\Workspaces\Products\MyProduct\Projects\Binaries\Android\manifest-merger-release-report.txt
1> 2 File(s) copied
1> Your environment has been set up for using Node.js 0.12.2 (ia32) and npm.
1> ... [Rest of output omitted] ...
Can anybody shed some light on why this is, or how I can get the post build event to run after the build has completed?

After banging my head against a wall for a while I gave up on the Visual Studio AfterBuild event and used a hook for the Cordova after_build one. It fires a bit earlier in the whole build process, but was good enough for my requirements. I'll post the gist of what it entails in case others need to do a similar thing.
Find the config.xml in Solution Explorer, right click on it and select View Code
In the config.xml add a <hook> section as follows
<platform name="android">
<hook type="after_build" src="scripts/afterbuild-copy-to-drop.js" />
</platform>
Here I am hooking into the after_build event for an Android build only.
Now create a scripts folder at the root of the project, ie the same level as the plugins and www folders.
Create a JavaScript file in here with a name that matches the src attribute in the hook definition, ie 'afterbuild-copy-to-drop.js'.
In this script file write the required code. Here is mine
module.exports = function (ctx) {
console.log('Executing custom "' + ctx.hook + '" hook for ' + ctx.opts.platforms);
var path = ctx.requireCordovaModule('path'),
shell = ctx.requireCordovaModule('shelljs');
// make sure we are in a release build
var isRelease = (ctx.cmdLine.indexOf('--configuration Release') >= 0);
var solutionRoot = path.join(ctx.opts.projectRoot, '../..');
var dropRoot = path.join(solutionRoot, '../../Binaries/Release/Apps');
if (isRelease){
if (ctx.opts.platforms == 'android') {
var platformRoot = path.join(ctx.opts.projectRoot, 'platforms/android');
var apkFileLocation = path.join(platformRoot, 'build/outputs/apk/android-release.apk');
dropRoot = path.join(dropRoot, 'Android');
var dropApkFileLocation = path.join(dropRoot, 'my-app.apk');
console.log('------ Making directory \'' + dropRoot + '\'');
shell.mkdir('-p', dropRoot);
console.log('------ Copying \'' + apkFileLocation + '\' to ' + dropApkFileLocation + '\'');
shell.cp('-f', apkFileLocation, dropApkFileLocation);
}
}
console.log('Finished executing "' + ctx.hook + '" hook for ' + ctx.opts.platforms);
};
Further information on hooks can be found at https://cordova.apache.org/docs/en/dev/guide/appdev/hooks/

Related

DOTNETCORECLI#2 Publish succeeds but no artifacts

I have a legacy project and want to get into Azure Devops pipelines. I have a build pipeline setup and build seems to succeed. I've added a DotnetcoreCli Publish task and this succeeds but I never have any artifacts available after running so can't implement a Release pipeline.
Wondering if anyone can spot anything daft I've done?
These are the Tasks defined in my pipeline:
- task: DotNetCoreCLI#2
inputs:
command: 'build'
projects: '$(solution)'
arguments: '--configuration $(buildConfiguration)'
displayName: 'dotnet build $(buildConfiguration)'
- task: DotNetCoreCLI#2
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/UAT'))
inputs:
command: 'publish'
publishWebProjects: true
configuration: $(BuildConfiguration)
arguments: '--output $(Build.ArtifactStagingDirectory) --verbosity detailed'
zipAfterPublish: false # We want individual files published, not a zip
This is the end of the trace of my Publish task:
(entry point): 2021-09-09T08:57:26.4983992Z Task "Message"
2021-09-09T08:57:26.4984515Z MYOrg.MyApp.UI ->
D:\a\1\a\Staging\MYOrg.MyApp.UI\ 2021-09-09T08:57:26.4985051Z
Done executing task "Message". 2021-09-09T08:57:26.4985655Z
1>Done building target "Publish" in project "MYOrg.MyApp.UI.csproj".
2021-09-09T08:57:26.4986271Z Target
"_InitProjectCapabilityProperties" skipped. Previously built
successfully. 2021-09-09T08:57:26.4991632Z 1>Target
"_InitPublishIntermediateOutputPath" in file
"C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\DotNetCLIToolTargets\Microsoft.NET.Sdk.DotNetCLITool.targets"
from project "D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj" (target
"_AspNetCoreProjectSystemPostPublish" depends on it):
2021-09-09T08:57:26.4992847Z Task "ConvertToAbsolutePath"
2021-09-09T08:57:26.4993300Z Done executing task
"ConvertToAbsolutePath". 2021-09-09T08:57:26.4993889Z 1>Done
building target "_InitPublishIntermediateOutputPath" in project
"MYOrg.MyApp.UI.csproj". 2021-09-09T08:57:26.4994986Z 1>Target
"_TransformWebConfig" in file
"C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\TransformTargets\Microsoft.NET.Sdk.Publish.TransformFiles.targets" from project "D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj" (target
"_AspNetCoreProjectSystemPostPublish" depends on it):
2021-09-09T08:57:26.4996207Z Using "TransformWebConfig" task
from assembly
"C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0....\tools\netcoreapp1.0\Microsoft.NET.Sdk.Publish.Tasks.dll".
2021-09-09T08:57:26.4997005Z Task "TransformWebConfig"
2021-09-09T08:57:26.5010124Z Configuring the following
project for use with IIS: 'D:\a\1\a\Staging\MYOrg.MyApp.UI'
2021-09-09T08:57:26.5010856Z Updating web.config at
'D:\a\1\a\Staging\MYOrg.MyApp.UI\web.config'
2021-09-09T08:57:26.5129541Z Configuring project completed
successfully 2021-09-09T08:57:26.5140303Z Done executing task
"TransformWebConfig". 2021-09-09T08:57:26.5143720Z 1>Done
building target "_TransformWebConfig" in project
"MYOrg.MyApp.UI.csproj". 2021-09-09T08:57:26.5145086Z 1>Target
"_TransformAppSettings" in file
"C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\TransformTargets\Microsoft.NET.Sdk.Publish.TransformFiles.targets" from project "D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj" (target
"_AspNetCoreProjectSystemPostPublish" depends on it):
2021-09-09T08:57:26.5146333Z Task "TransformAppSettings"
skipped, due to false condition; ('$(_IsAspNetCoreProject)' == 'true'
And '$(IsTransformAppSettingsDisabled)' != 'true' And
#(DestinationConnectionStrings) != '') was evaluated as ('true' ==
'true' And '' != 'true' And != ''). 2021-09-09T08:57:26.5153800Z
1>Done building target "_TransformAppSettings" in project
"MYOrg.MyApp.UI.csproj". 2021-09-09T08:57:26.5156303Z 1>Target
"_GenerateEFSQLScripts" in file
"C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\TransformTargets\Microsoft.NET.Sdk.Publish.TransformFiles.targets" from project "D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj" (target
"_AspNetCoreProjectSystemPostPublish" depends on it):
2021-09-09T08:57:26.5157868Z Task "GenerateEFSQLScripts"
skipped, due to false condition; ('$(_IsAspNetCoreProject)' == 'true'
And '$(IsGenerateEFSQLScriptsDisabled)' != 'true' And #(EfMigrations)
!= '') was evaluated as ('true' == 'true' And '' != 'true' And !=
''). 2021-09-09T08:57:26.5180482Z 1>Done building target
"_GenerateEFSQLScripts" in project "MYOrg.MyApp.UI.csproj".
2021-09-09T08:57:26.5183010Z 1>Target "_GenerateRunCommandFile"
in file
"C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\TransformTargets\Microsoft.NET.Sdk.Publish.TransformFiles.targets" from project "D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj" (target
"_AspNetCoreProjectSystemPostPublish" depends on it):
2021-09-09T08:57:26.5185028Z Task "GenerateRunCommandFile"
skipped, due to false condition; ('$(_IsWebJobProject)' == 'true' And
'$(IsGenerateRunCommandFileDisabled)' != 'true') was evaluated as (''
== 'true' And '' != 'true'). 2021-09-09T08:57:26.5185862Z 1>Done building target "_GenerateRunCommandFile" in project
"MYOrg.MyApp.UI.csproj". 2021-09-09T08:57:26.5186601Z Target
"_PublishFiles" skipped, due to false condition; ('$(PublishProtocol)'
!= 'FileSystem' And '$(PublishProtocol)' != '') was evaluated as
('FileSystem' != 'FileSystem' And 'FileSystem' != '').
2021-09-09T08:57:26.5187820Z 1>Target
"_AspNetCoreProjectSystemPostPublish" in file
"C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\DotNetCLIToolTargets\Microsoft.NET.Sdk.DotNetCLITool.targets"
from project "D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj" (target
"_DotNetCLIPostPublish" depends on it): 2021-09-09T08:57:26.5188885Z
1>Done building target "_AspNetCoreProjectSystemPostPublish" in
project "MYOrg.MyApp.UI.csproj". 2021-09-09T08:57:26.5189885Z
1>Target "AfterPublish" in file
"C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\Microsoft.NET.Sdk.Publish.targets"
from project "D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj" (target
"_DotNetCLIPostPublish" depends on it): 2021-09-09T08:57:26.5190833Z
1>Done building target "AfterPublish" in project
"MYOrg.MyApp.UI.csproj". 2021-09-09T08:57:26.5191798Z 1>Target
"_DotNetCLIPostPublish" in file
"C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\DotNetCLIToolTargets\Microsoft.NET.Sdk.DotNetCLITool.targets"
from project "D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj" (entry
point): 2021-09-09T08:57:26.5192771Z 1>Done building target
"_DotNetCLIPostPublish" in project "MYOrg.MyApp.UI.csproj".
2021-09-09T08:57:26.5193415Z 1>Done Building Project
"D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj" (Publish target(s)).
2021-09-09T08:57:26.5210238Z 2021-09-09T08:57:26.5225190Z Build
succeeded. 2021-09-09T08:57:26.5260048Z 0 Warning(s)
2021-09-09T08:57:26.5260950Z 0 Error(s)
After dontet publish command you need to make Azure Pipeline artifact.
You can do this in this way:
- publish: $(Build.ArtifactStagingDirectory)
artifact: WebApp
Here you have documentation about this. After that, you will get an artifact available for release pipeline.

Trouble publishing WASM Uno Solution to App Service Azure and a local Publish folder (Error CS2012)

When I try to publish my Uno Platform WASM solution from within Visual Studio 2019 Version 16.9.0 either to an App Service in Azure or to a local publish folder I get the following error.
CSC(0,0): Error CS2012: Cannot open 'C:\Users...\obj\Release\netstandard2.0\FileName.Wasm.dll' for writing -- 'The process cannot access the file 'C:\Users...\obj\Release\netstandard2.0\FileName.Wasm.dll' because it is being used by another process.'
I have had this problem before and then I have moved the entire solution to another folder (with shorter filepath) and been able to publish from there. This time that doesn't work either.
I have tried rebooting and only starting Visual Studio and trying to publish directly, cleaning the solution and adding the following in the Wasm.csproj file
<PropertyGroup>
<WasmShellEnableLongPathSupport>false</WasmShellEnableLongPathSupport>
</PropertyGroup>
But still no go.
I am using Uno... v3.5.1 and Uno.Wasm... v1.3.6
An update: I noticed that it starts to run Roslyn\csc.exe after the publish has started. Could this explain it?
1>------ Build started: Project: Client.Wasm, Configuration: Release Any CPU ------
1>Client.Wasm -> C:\...\bin\Release\netstandard2.0\Client.Wasm.dll
1>Done building project "Client.Wasm.csproj".
2>------ Publish started: Project: Client.Wasm, Configuration: Release Any CPU ------
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\Roslyn\csc.exe /noconfig /unsafe- /checked- /nowarn:NU1701,1701,1702,2008 /fullpaths /nostdlib+ /errorreport:prompt /warn:4 /define:TRACE;RELEASE;NETSTANDARD;NETSTANDARD2_0;UNO_REFERENCE_API;HAS_UNO_WASM;__WASM__;UNO_REFERENCE_API;HAS_UNO_WASM;__WASM__;HAS_UNO;UNO_HAS_FRAMEWORKELEMENT_MEASUREOVERRIDE;UNO_HAS_NO_IDEPENDENCYOBJECT;UNO_REFERENCE_API /errorendlocation /preferreduilang:en-US /highentropyva+ /reference:C:\Users\nivu\.nuget\packages\commonservicelocator\2.0.5\lib\netstandard2.0\CommonServiceLocator.dll /reference:C:\Users\nivu\.nuget\packages\microsoft.extensions.configuration.abstractions\1.1.1\lib\netstandard1.0\Microsoft.Extensions.Configuration.Abstractions.dll /reference:C:\Users\nivu\.nuget\packages\microsoft.extensions.dependencyinjection.abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll /reference:C:\Users\nivu\.nuget\packages\microsoft.extensions.logging.abstractions\1.1.1\lib\netstandard1.1\Microsoft.Extensions.Logging.Abstractions.dll /reference:C:\Users\nivu\.nuget\packages\microsoft.extensions.logging.console\1.1.1\lib\netstandard1.3\Microsoft.Extensions.Logging.Console.dll /reference:C:\Users\nivu\.nuget\packages\microsoft.extensions.logging\1.1.1\lib\netstandard1.1\Microsoft.Extensions.Logging.dll /reference:C:\Users\nivu\.nuget\packages\microsoft.extensions.logging.filter\1.1.1\lib\netstandard1.1\Microsoft.Extensions.Logging.Filter.dll /reference:C:\Users\nivu\.nuget\packages\microsoft.extensions.primitives\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Primitives.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\Microsoft.Win32.Primitives.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\mscorlib.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\netstandard.dll /reference:C:\Users\nivu\.nuget\packages\newtonsoft.json\12.0.3\lib\netstandard2.0\Newtonsoft.Json.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.AppContext.dll /reference:C:\Users\nivu\.nuget\packages\system.buffers\4.5.1\ref\netstandard2.0\System.Buffers.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Collections.Concurrent.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Collections.dll /reference:C:\Users\nivu\.nuget\packages\system.collections.immutable\1.3.1\lib\netstandard1.0\System.Collections.Immutable.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Collections.NonGeneric.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Collections.Specialized.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ComponentModel.Composition.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ComponentModel.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ComponentModel.EventBasedAsync.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ComponentModel.Primitives.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ComponentModel.TypeConverter.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Console.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Core.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Data.Common.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Data.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.Contracts.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.Debug.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.FileVersionInfo.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.Process.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.StackTrace.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.TextWriterTraceListener.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.Tools.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.TraceSource.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.Tracing.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Drawing.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Drawing.Primitives.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Dynamic.Runtime.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Globalization.Calendars.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Globalization.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Globalization.Extensions.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.Compression.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.Compression.FileSystem.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.Compression.ZipFile.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.FileSystem.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.FileSystem.DriveInfo.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.FileSystem.Primitives.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.FileSystem.Watcher.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.IsolatedStorage.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.MemoryMappedFiles.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.Pipes.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.UnmanagedMemoryStream.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Linq.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Linq.Expressions.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Linq.Parallel.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Linq.Queryable.dll /reference:C:\Users\nivu\.nuget\packages\system.memory\4.5.4\lib\netstandard2.0\System.Memory.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.Http.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.NameResolution.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.NetworkInformation.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.Ping.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.Primitives.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.Requests.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.Security.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.Sockets.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.WebHeaderCollection.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.WebSockets.Client.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.WebSockets.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Numerics.dll /reference:C:\Users\nivu\.nuget\packages\system.numerics.vectors\4.5.0\ref\netstandard2.0\System.Numerics.Vectors.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ObjectModel.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Reflection.dll /reference:C:\Users\nivu\.nuget\packages\system.reflection.emit.ilgeneration\4.3.0\ref\netstandard1.0\System.Reflection.Emit.ILGeneration.dll /reference:C:\Users\nivu\.nuget\packages\system.reflection.emit.lightweight\4.3.0\ref\netstandard1.0\System.Reflection.Emit.Lightweight.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Reflection.Extensions.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Reflection.Primitives.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Resources.Reader.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Resources.ResourceManager.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Resources.Writer.dll /reference:C:\Users\nivu\.nuget\packages\system.runtime.compilerservices.unsafe\4.5.3\ref\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.CompilerServices.VisualC.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Extensions.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Handles.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.InteropServices.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.InteropServices.RuntimeInformation.dll /reference:C:\Users\nivu\.nuget\packages\system.runtime.interopservices.windowsruntime\4.3.0\ref\netstandard1.0\System.Runtime.InteropServices.WindowsRuntime.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Numerics.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Serialization.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Serialization.Formatters.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Serialization.Json.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Serialization.Primitives.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Serialization.Xml.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.Claims.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.Cryptography.Algorithms.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.Cryptography.Csp.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.Cryptography.Encoding.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.Cryptography.Primitives.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.Cryptography.X509Certificates.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.Principal.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.SecureString.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ServiceModel.Web.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Text.Encoding.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Text.Encoding.Extensions.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Text.RegularExpressions.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Threading.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Threading.Overlapped.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Threading.Tasks.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Threading.Tasks.Parallel.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Threading.Thread.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Threading.ThreadPool.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Threading.Timer.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Transactions.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ValueTuple.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Web.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Windows.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.Linq.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.ReaderWriter.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.Serialization.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.XDocument.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.XmlDocument.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.XmlSerializer.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.XPath.dll /reference:C:\Users\nivu\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.XPath.XDocument.dll /reference:C:\Users\nivu\.nuget\packages\uno.core\2.2.0\lib\netstandard2.0\Uno.Core.dll /reference:C:\Users\nivu\.nuget\packages\uno.diagnostics.eventing\1.0.4\lib\netstandard2.0\Uno.Diagnostics.Eventing.dll /reference:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\lib\netstandard2.0\Uno.dll /reference:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\lib\netstandard2.0\Uno.Foundation.dll /reference:C:\Users\nivu\.nuget\packages\uno.foundation.runtime.webassembly\3.5.1\lib\netstandard2.0\Uno.Foundation.Runtime.WebAssembly.dll /reference:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\lib\netstandard2.0\Uno.UI.dll /reference:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\lib\netstandard2.0\Uno.UI.FluentTheme.dll /reference:C:\Users\nivu\.nuget\packages\uno.ui.runtime.webassembly\3.5.1\lib\netstandard2.0\Uno.UI.Runtime.WebAssembly.dll /reference:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\lib\netstandard2.0\Uno.UI.Toolkit.dll /reference:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\lib\netstandard2.0\Uno.Xaml.dll /debug+ /debug:portable /filealign:512 /optimize+ /out:obj\Release\netstandard2.0\Client.Wasm.dll /resource:WasmCSS\Fonts.css,Client.Wasm.WasmCSS.Fonts.css /resource:WasmScripts\AppManifest.js,Client.Wasm.WasmScripts.AppManifest.js /resource:LinkerConfig.xml,Client.Wasm.xml /resource:C:\source\Admin\Client\Client\Client.Wasm\obj\Release\netstandard2.0\g\ResourcesGenerator\Strings\en\Resources.resw\Resources.upri,Strings.en.Resources.resw.Resources.upri /target:exe /warnaserror- /utf8output /deterministic+ /langversion:7.3 /analyzer:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\Uno.Analyzers.dll /analyzer:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\CommonServiceLocator.dll /analyzer:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Microsoft.ApplicationInsights.dll /analyzer:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Microsoft.DotNet.PlatformAbstractions.dll /analyzer:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Microsoft.Extensions.Logging.Abstractions.dll /analyzer:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Microsoft.Extensions.Logging.dll /analyzer:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Mono.Cecil.Mdb.dll /analyzer:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Mono.Cecil.Pdb.dll /analyzer:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Mono.Cecil.Rocks.dll /analyzer:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Mono.Cecil.dll /analyzer:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\System.Diagnostics.DiagnosticSource.dll /analyzer:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Uno.Core.dll /analyzer:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Uno.Xaml.dll /additionalfile:C:\source\Admin\Client\Client\Client.Shared\MainPage.xaml /additionalfile:C:\source\Admin\Client\Client\Client.Shared\Pages\BaseData.xaml /additionalfile:C:\source\Admin\Client\Client\Client.Shared\Pages\BlankPage.xaml /additionalfile:C:\source\Admin\Client\Client\Client.Shared\Pages\CustomerPage.xaml /additionalfile:C:\source\Admin\Client\Client\Client.Shared\Pages\HomePage.xaml /additionalfile:C:\source\Admin\Client\Client\Client.Shared\Pages\InspectionPage.xaml /additionalfile:C:\source\Admin\Client\Client\Client.Shared\Pages\InspectionTemplatePage.xaml /additionalfile:C:\source\Admin\Client\Client\Client.Shared\Pages\MachinesPage.xaml /additionalfile:C:\source\Admin\Client\Client\Client.Shared\Pages\SettingsPages\CommentsPage.xaml /additionalfile:C:\source\Admin\Client\Client\Client.Shared\Pages\SettingsPages\InspectionSummariesPage.xaml /additionalfile:C:\source\Admin\Client\Client\Client.Shared\Pages\SettingsPages\StatusPage.xaml /additionalfile:C:\source\Admin\Client\Client\Client.Shared\App.xaml /additionalfile:C:\source\Admin\Client\Client\Client.Shared\Strings\en\Resources.resw /additionalfile:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\Uno.Analyzers.dll /additionalfile:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\CommonServiceLocator.dll /additionalfile:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Microsoft.ApplicationInsights.dll /additionalfile:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Microsoft.DotNet.PlatformAbstractions.dll /additionalfile:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Microsoft.Extensions.Logging.Abstractions.dll /additionalfile:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Microsoft.Extensions.Logging.dll /additionalfile:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Mono.Cecil.Mdb.dll /additionalfile:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Mono.Cecil.Pdb.dll /additionalfile:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Mono.Cecil.Rocks.dll /additionalfile:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Mono.Cecil.dll /additionalfile:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\System.Diagnostics.DiagnosticSource.dll /additionalfile:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Uno.Core.dll /additionalfile:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Uno.UI.SourceGenerators.dll /additionalfile:C:\Users\nivu\.nuget\packages\uno.ui\3.5.1\analyzers\dotnet\cs\Uno.Xaml.dll Program.cs C:\source\Admin\Client\Client\Client.Shared\App.xaml.cs C:\source\Admin\Client\Client\Client.Shared\Helpers\Authenticator.cs C:\source\Admin\Client\Client\Client.Shared\Helpers\DsipachedBindableBase.cs C:\source\Admin\Client\Client\Client.Shared\Helpers\IdHolders\SavedTemplateIds.cs C:\source\Admin\Client\Client\Client.Shared\Helpers\IdHolders\StaticTypes.cs C:\source\Admin\Client\Client\Client.Shared\Helpers\IdHolders\UriItem.cs C:\source\Admin\Client\Client\Client.Shared\Helpers\RelayCommand.cs C:\source\Admin\Client\Client\Client.Shared\Helpers\RESTMessage.cs C:\source\Admin\Client\Client\Client.Shared\Helpers\UnoHttpClientHandler.cs C:\source\Admin\Client\Client\Client.Shared\MainPage.xaml.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\Addresses.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\AddressTypes.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\AllTypes.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\CheckTypes.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\ClientSettings.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\Comments.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\CommentsForCreation.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\ContactForCreationDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\ContactForUpdateDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\Contacts.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\Customers.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\GUIBase.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\IInspection.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\InspectionCommentsDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\InspectionComponentDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\InspectionItemDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\InspectionItemsForUpdateDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\InspectionResourceDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\InspectionSegmentDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\InspectionTableRowDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\InspectionTemplateDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\InspectionTemplateForCreationDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\InspectionTemplates.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\Machines.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\MachinesForCreationDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\MachineTypes.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\Parts.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\PredefinedSummary.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\TemplateComponents.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\TemplateItemComments.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\TemplateItems.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\Templates.cs C:\source\Admin\Client\Client\Client.Shared\Models\DataModels\TemplateSegments.cs C:\source\Admin\Client\Client\Client.Shared\Models\ForCreation\ClientSettingsForCreationDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\ForCreation\CloneForCreationDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\ForCreation\InspectionItemCommentsForCreationDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\ForCreation\PredifinedSummaryForCreationDto.cs C:\source\Admin\Client\Client\Client.Shared\Models\ForCreation\TemplateItemCommentsForCreationDto.cs C:\source\Admin\Client\Client\Client.Shared\Pages\BaseData.xaml.cs C:\source\Admin\Client\Client\Client.Shared\Pages\BlankPage.xaml.cs C:\source\Admin\Client\Client\Client.Shared\Pages\CustomerPage.xaml.cs C:\source\Admin\Client\Client\Client.Shared\Pages\HomePage.xaml.cs C:\source\Admin\Client\Client\Client.Shared\Pages\InspectionPage.xaml.cs C:\source\Admin\Client\Client\Client.Shared\Pages\InspectionTemplatePage.xaml.cs C:\source\Admin\Client\Client\Client.Shared\Pages\MachinesPage.xaml.cs C:\source\Admin\Client\Client\Client.Shared\Pages\SettingsPages\CommentsPage.xaml.cs C:\source\Admin\Client\Client\Client.Shared\Pages\SettingsPages\InspectionSummariesPage.xaml.cs C:\source\Admin\Client\Client\Client.Shared\Pages\SettingsPages\StatusPage.xaml.cs C:\source\Admin\Client\Client\Client.Shared\ValueConverters\AddressTypeToString.cs C:\source\Admin\Client\Client\Client.Shared\ValueConverters\BoolToInvertedBool.cs C:\source\Admin\Client\Client\Client.Shared\ValueConverters\BoolTrueToColor.cs C:\source\Admin\Client\Client\Client.Shared\ValueConverters\CheckTypeIdToString.cs C:\source\Admin\Client\Client\Client.Shared\ValueConverters\IntegerToString.cs ---

How to stop build through dockerfile when unit test failed (Dockerfile + .NET Framework + Nunit Test + Docker Window Container

I have to build stop when unit test fail through docker file. I am using .NET Framework (not Dot.Net Core). I have to write command either in power shell script or Docker file (if Unit test fail then build should be stop before execute next line of docker file.
.NET Framework 4.7.2
Docker Window container only
Unit test project (Nunit)
Asp.Net WebForms (old)
Nunit test runner
Steps,
I have create project for Unit test + WebForm + Class library.
I have created powershell script for run unit test project using Nunit test runner.
I have added path for script in docker file.
I have attached Docker file and power-shell script .
Docker file code here
`# escape=`
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-20200512-windowsservercore-ltsc2019
WORKDIR /src
COPY ./POC.Web/POC.Web.csproj ./POC.Web/
COPY ./POC.Entites/POC.Entites.csproj ./POC.Entites/
COPY ./POC.Business.Layer/POC.Business.Layer.csproj ./POC.Business.Layer/
COPY ./POC.UnitTests/POC.UnitTests.csproj ./POC.UnitTests/
COPY ./POC.UnitTests/packages.config ./POC.UnitTests/
COPY ./MttcPoc.sln .
RUN nuget restore MttcPoc.sln
COPY . .
RUN msbuild POC.UnitTests/POC.UnitTests.csproj /p:OutputPath=c:/out/tests
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';"]
# testResult variable using in shellscript to get the result of unit test
ENV testResult="Passed"
RUN nuget install NUnit.Runners
COPY ./startuptest.ps1 /
RUN /startuptest.ps1
#RUN IF $testResult == "Passed" EXIT 0 ELSE EXIT -1
RUN if [ "$testResult" = "Passed" ] ; then true ; else false; fi
ENTRYPOINT ["powershell", "/startuptest.ps1"]
#*****************************************************
#Below line should not execute if unit test fail
FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-20200512-windowsservercore-ltsc2019
ENV APP_ROOT=/inetpub/wwwroot `
CONNECTIONSTRINGS_CONFIG_MAP="" `
dockercomposeKey="From Docker file"
WORKDIR ${APP_ROOT}
RUN Import-Module WebAdministration; `
Set-ItemProperty -Path 'IIS:\AppPools\DefaultAppPool' -Name processModel.identityType -Value LocalSystem; `
New-WebApplication -Name 'app' -Site 'Default Web Site' -PhysicalPath $env:APP_ROOT
COPY ./startup.ps1 /
RUN /startup.ps1
#ENTRYPOINT ["powershell", "/startup.ps1"]
COPY --from=build c:/out/_PublishedWebsites/POC.Web ${APP_ROOT}
#************************************************************************`
Powershell script code here
$ProjectDir = "."
$OutDir = "$ProjectDir\testresults"
$testProjectPath = "c:\out\tests\POC.UnitTests.dll"
# Set nunit path test runner
$nunit_path = "$ProjectDir\NUnit.ConsoleRunner.3.11.1\tools\nunit3-console.exe"
# Run NUnit3 tests
& $nunit_path $testProjectPath --framework=net-4.7.2 --work=$OutDir
[XML]$resultDetails = Get-Content .\$OutDir\TestResult.xml
Write-Output $resultDetails
$string = "test-run"
Write-Output $resultDetails.$string.result
$env:testResult = $resultDetails.$string.result
#Passed
#Failed
#Below line added for if test fail then exit from docker build
If ($resultDetails.$string.result -eq 'Passed') {
Write-Output "Test passed"
Write-Output $env:testResult
return true
}else{
Write-Output "Test failed"
Write-Output $env:testResult
return -1
}

Copy a directory over http within a windows batch file

I need a command to use in a batch file, which copies the contents of a remote directory to a local directory over http.
For example to copy folder http ://path//folder to C:\folder
I need to do this without installing any additional tools.
Thanks in advance!
There's no standard way for an http server to list accessible directories.
For example I took http://unomoralez.com/content/files/catalog2/source/ as one of the common ways to list directory with http. Your site could look different though but there's no way for me tho know... (ther's a temp list2.txt file - you can remark its deletion to check the format of directory page and tell me if its not working. IF it is IIS could look like this: http://live.sysinternals.com/tools/)
the script downloads all content into .\download_dir (not recursive download) :
#if (#X)==(#Y) #end /****** jscript comment ******
#echo off
::::::::::::::::::::::::::::::::::::
::: compile the script ::::
::::::::::::::::::::::::::::::::::::
setlocal
if exist simpledownloader.exe goto :skip_compilation
set "frm=%SystemRoot%\Microsoft.NET\Framework\"
:: searching the latest installed .net framework
for /f "tokens=* delims=" %%v in ('dir /b /s /a:d /o:-n "%SystemRoot%\Microsoft.NET\Framework\v*"') do (
if exist "%%v\jsc.exe" (
rem :: the javascript.net compiler
set "jsc=%%~dpsnfxv\jsc.exe"
goto :break_loop
)
)
echo jsc.exe not found && exit /b 0
:break_loop
call %jsc% /nologo /out:"simpledownloader.exe" "%~dpsfnx0"
::::::::::::::::::::::::::::::::::::
::: end of compilation ::::
::::::::::::::::::::::::::::::::::::
:skip_compilation
:: download the file
:::::::::::::::::::::::::::::::::::::::::
::::just change the link and the file::::
:::::::::::::::::::::::::::::::::::::::::
::!!!!!!!!!!!!!!!!!!!!!!!!!:::
simpledownloader.exe "http://unomoralez.com/content/files/catalog2/source/" "list2.txt"
md download_dir >nul 2>&1
for /f "skip=1 tokens=4 delims=>< " %%a in ('type list2.txt^| find /i "href" ') do (
simpledownloader.exe "http://unomoralez.com/content/files/catalog2/source/%%a" .\download_dir\%%a
)
del /q /f list2.txt
exit /b 0
****** end of jscript comment ******/
import System;
var arguments:String[] = Environment.GetCommandLineArgs();
var webClient:System.Net.WebClient = new System.Net.WebClient();
print("Downloading " + arguments[1] + " to " + arguments[2]);
try {
webClient.DownloadFile(arguments[1], arguments[2]);
} catch (e) {
Console.BackgroundColor = ConsoleColor.Green;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("\n\nProblem with downloading " + arguments[1] + " to " + arguments[2] + "Check if the internet address is valid");
Console.ResetColor();
Environment.Exit(5);
}
As you have powershell you also have .net so this code will be executed without problems for you.
This was more or less a code that I already had but you can also check this -> https://code.google.com/p/curlie/ if you are familiar with cURL and create a hybrid jscript/.bat file.

How can I have a Windows Service, installed using OctopusDeploy, use an app.config?

So far, I've been able to create a Windows Service, which I can then get TeamCity to build and pack up and make available for Octopus Deploy.
What I can't seem to do, is have an app.config which has a connection string in it and use that connection string.
The following is my Deploy.ps1:
# These variables should be set via the Octopus web portal:
#
# ServiceName - Name of the Windows service
#
# sc.exe is the Service Control utility in Windows
# Default the service name
if (! $ServiceName)
{
$ServiceName = "OctoService"
}
Write-Host "Service Name:" $ServiceName
# Get the exe name based ont the directory
$contentPath = (Join-Path $OctopusPackageDirectoryPath "content")
$configName = (Get-ChildItem $contentPath\*.config -Name | Select-Object -First 1)
$binPath = (Join-Path $OctopusPackageDirectoryPath "lib\net40")
$exeName = (Get-ChildItem $binPath\*.exe -Name | Select-Object -First 1)
$fullPath = (Join-Path $binPath $exeName)
Write-Host "Service Path:" $fullPath
Write-Host "Config Path:" (Join-Path $contentPath $configName)
Copy-Item (Join-Path $contentPath $configName) $binPath
$service = Get-Service $ServiceName -ErrorAction SilentlyContinue
if (! $service)
{
Write-Host "The service will be installed"
New-Service -Name $ServiceName -BinaryPathName $fullPath -StartupType Automatic
}
else
{
Stop-Service $ServiceName -Force
$fullPath = Resolve-Path $fullPath
& "sc.exe" config "$ServiceName" binPath= $fullPath start= auto | Write-Host
Start-Service $ServiceName
}
Here's my .nuspec file:
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
<copyright>Copyright 2012</copyright>
</metadata>
<files>
<file src="app.config" target="content" />
<file src="Deploy.ps1" />
</files>
</package>
If I try to access ConfigurationManager.ConnectionStrings["MyConnectionString"], I'll get a null reference.
Any suggestions?
my money is on you needing to name your app.config to exename.exe.config so it is picked up by your service.
App.config is the 'temporary' name used in the ide, it gets renamed as part of the build to whatever the exe name is

Resources