Allow strong-name signing - appveyor

I added the ability to handle delay signing to a project on GitHub:
https://github.com/ryknuth/Fody
I added a test for this and everything builds fine locally. However, when I submit my PullRequest, it runs through AppVeyor which fails:
MSBUILD : error : Fody: An unhandled exception occurred: [C:\projects\fody\Integration\WithDelaySigning\WithDelaySigning.csproj]
MSBUILD : error : Exception: [C:\projects\fody\Integration\WithDelaySigning\WithDelaySigning.csproj]
MSBUILD : error : Strong-name signing is not supported on this platform. [C:\projects\fody\Integration\WithDelaySigning\WithDelaySigning.csproj]
MSBUILD : error : Type: [C:\projects\fody\Integration\WithDelaySigning\WithDelaySigning.csproj]
MSBUILD : error : System.PlatformNotSupportedException [C:\projects\fody\Integration\WithDelaySigning\WithDelaySigning.csproj]
MSBUILD : error : StackTrace: [C:\projects\fody\Integration\WithDelaySigning\WithDelaySigning.csproj]
MSBUILD : error : at System.Reflection.StrongNameKeyPair.get_PublicKey() [C:\projects\fody\Integration\WithDelaySigning\WithDelaySigning.csproj]
MSBUILD : error : at InnerWeaver.FindStrongNameKey() in C:\projects\fody\FodyIsolated\StrongNameKeyFinder.cs:line 27 [C:\projects\fody\Integration\WithDelaySigning\WithDelaySigning.csproj]
MSBUILD : error : at InnerWeaver.Execute() in C:\projects\fody\FodyIsolated\InnerWeaver.cs:line 112 [C:\projects\fody\Integration\WithDelaySigning\WithDelaySigning.csproj]
MSBUILD : error : Source: [C:\projects\fody\Integration\WithDelaySigning\WithDelaySigning.csproj]
MSBUILD : error : System.Private.CoreLib [C:\projects\fody\Integration\WithDelaySigning\WithDelaySigning.csproj]
MSBUILD : error : TargetSite: [C:\projects\fody\Integration\WithDelaySigning\WithDelaySigning.csproj]
MSBUILD : error : Byte[] get_PublicKey() [C:\projects\fody\Integration\WithDelaySigning\WithDelaySigning.csproj]
MSBUILD : error : [C:\projects\fody\Integration\WithDelaySigning\WithDelaySigning.csproj]
Is there a way to enable signing or perhaps disable building this project in AppVeyor?

Solution which seems to work is replacing
dotnet build Integration\Integration.sln --configuration Release
with
msbuild Integration\Integration.sln /target:Restore
msbuild Integration\Integration.sln /p:Configuration=Release /verbosity:minimal
Not sure I deeply understand the underlying issue, but this should unblock you.
Side note: to disable building a project you can remove it from the configuration which you are building e.g. Release in your case, in VS and saving the solution.

Related

Azure Remote rendering error - EXEC : fatal error C1007: unrecognized flag '-ssa-cfg-jt-' in 'p2'

I am trying to build Azure remote rendering unity showcase project. After unity build the output visual studio project upon building is giving below error, my Unity 3D version is 2019.4.29f and visual studio version is 2019:
il2cpp.exe didn't catch exception: Unity.IL2CPP.Building.BuilderFailedException: Il2CppTypeDefinitions.c
1>EXEC : fatal error C1007: unrecognized flag '-ssa-cfg-jt-' in 'p2'
LINK : fatal error LNK1181: cannot open input file 'C:\ADO-Repo\MR\ARR\Unity\v2019\ARRShowcase\ARRApp\build\bin\ARM64\Release\GameAssembly.lib'
It looks like the compiler flags in the Il2CppOutputProject project contain an error. I generated the Showcase solution with Unity 2019.4.29f and see a similar flag -d2ssa-cfg-jt- in there.
You can check if the compiler flags in your generated solution contain -ssa-cfg-jt-, and if so try replacing that by -d2ssa-cfg-jt-.
To view the compiler flags in Visual Studio open the Properties of the Il2CppOutputProject project. Then go to the NMake page and edit the Build Command Line field. In my configuration --compiler-flags="-d2ssa-cfg-jt-" is right at the end: Il2CppOutputProject Properties.

How to build setup project from .vdproj in Azure DevOps?

I have recently upgraded some of our windows application to VS2019 and created the setup project using VSInstallerProject extension in VS2019 . What I noticed is setup is not getting created when the Release pipeline is run , but I need the msi (or exe) files here so I can use the same to install on app server .
I have made changes in my pipeline and added a task : 'DutchWorkz - Build VS Installer(s)' in the release pipeline .
I have attached the logs of the error I am getting at this task in Azure Devops below .
Build is getting failed at this task .
Can anyone guide me on what the issue here is and how can I resolve it ?
Also , I want to create the setup projects/msi in VS2019 , but I don't see Vs2019 option in this task,
how can I use this task in VS2019 version .I have Vs2019 installed on agent server .
2020-09-21T20:04:43.3394997Z ##[section]Starting: Create .msi file(s) from VS Installer project(s).
2020-09-21T20:04:43.3539534Z ==============================================================================
2020-09-21T20:04:43.3539958Z Task : DutchWorkz - Build VS Installer(s)
2020-09-21T20:04:43.3540023Z Description : Build .msi file(s) from VS Installer project(s).
2020-09-21T20:04:43.3540076Z Version : 1.2.4
2020-09-21T20:04:43.3540129Z Author : DutchWorkz B.V.
2020-09-21T20:04:43.3540201Z Help : <b>BuildVsInstaller v1.2.4</b>, DutchWorkz B.V. (Robin Paardekam)<br/><br/>Visual Studio Installer projects are not supported by MSBUILD, so a regular build will not generate your installer files (.msi). Use this build-task to build the .msi file(s) for your project by running devenv on the buildagent directly. <br/><br/><b>Dependencies:</b><br/>Dep1: when using VisualStudio 2017, this task will only function properly if you installed it in the default C:\Program Files (x86)\ location.
2020-09-21T20:04:43.3540311Z ==============================================================================
2020-09-21T20:05:07.5667900Z DEBUG: Aggregated: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.com
2020-09-21T20:05:07.5714835Z Now running (C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.com) with Arguments ("D:\VSTS Agent Folder\SO\6\s\SOApplications.sln" /Build "release|any cpu" /Project "D:\VSTS Agent Folder\SO\6\s\App_Tool_Installer\App_Tool_Installer.vdproj" /Out "D:\VSTS Agent Folder\SO\6\b\BuildInstaller_Log_20200921200507.txt")
2020-09-21T20:05:15.0213322Z Done running DevEnv process. Success = False.
2020-09-21T20:05:15.0238151Z ##[error]Unable to process command '##vso[task.addattachment type=Distributedtask.Core.Summary;name=Installer project errors;]D:\VSTS Agent Folder\SO\6\b\BuildInstaller_Log_20200921200507.txt' successfully. Please reference documentation (http://go.microsoft.com/fwlink/?LinkId=817296)
2020-09-21T20:05:15.0239574Z ##[error]Cannot upload task attachment file, attachment file location is not specified or attachment file not exist on disk
2020-09-21T20:05:15.1116369Z Attachment added: Log file for Installer generation.
2020-09-21T20:05:15.1928578Z ##[error]An error occurred while running DevEnv! Please review logfile BuildInstaller_Log_20200921200507.txt
2020-09-21T20:05:15.2720322Z ##[section]Finishing: Create .msi file(s) from VS Installer project(s).
I have tried using devenv command line too , inorder to build the setup project .I have tried it with both the vs2017 (professional) and vs 2019(enterprise) and I am getting issue in both .While issue with 2017 is about license , I am not able to figure out what's causing the issue for 2019 . Please let me know if you have any thoughts on what could possibly be causing this issue and how can this be resolved . The goal is offcourse to build the setup project with azure devops pipeline and use the generated msi file for installation on app server .
Thanks in advance .
Here's the screenshot for new build and issue :
Build agent server has Vs installer already installed , pls see if this is okay :
Please check the new logs from 'command line task' below :
2020-09-26T16:04:39.7854210Z ##[debug]Evaluating condition for step: 'Command Line Script'
2020-09-26T16:04:39.7856182Z ##[debug]Evaluating: succeeded()
2020-09-26T16:04:39.7856654Z ##[debug]Evaluating succeeded:
2020-09-26T16:04:39.7857594Z ##[debug]=> True
2020-09-26T16:04:39.7858101Z ##[debug]Result: True
2020-09-26T16:04:39.7858600Z ##[section]Starting: Command Line Script
2020-09-26T16:04:39.8082090Z ==============================================================================
2020-09-26T16:04:39.8082357Z Task : Command line
2020-09-26T16:04:39.8082602Z Description : Run a command line script using Bash on Linux and macOS and cmd.exe on Windows
2020-09-26T16:04:39.8082847Z Version : 2.164.2
2020-09-26T16:04:39.8083025Z Author : Microsoft Corporation
2020-09-26T16:04:39.8083274Z Help : https://learn.microsoft.com/azure/devops/pipelines/tasks/utility/command-line
2020-09-26T16:04:39.8084133Z ==============================================================================
2020-09-26T16:04:39.8097829Z ##[debug]tf vc resolvePath $\CDM\Dev /loginType:OAuth /login:.,*** /noprompt
2020-09-26T16:04:40.1991127Z ##[debug]D:\VSTSAgent\sn\30\s
2020-09-26T16:04:41.0198149Z ##[debug]VstsTaskSdk 0.9.0 commit 6c48b16164b9a1c9548776ad2062dad5cd543352
2020-09-26T16:04:41.1044331Z ##[debug]Entering D:\VSTSAgent\sn\_tasks\CmdLine_d9bafed4-0b18-4f58-968d-86655b4d2ce9\2.164.2\cmdline.ps1.
2020-09-26T16:04:41.1126277Z ##[debug]Loading resource strings from: D:\VSTSAgent\sn\_tasks\CmdLine_d9bafed4-0b18-4f58-968d-86655b4d2ce9\2.164.2\task.json
2020-09-26T16:04:41.1272687Z ##[debug]Loaded 6 strings.
2020-09-26T16:04:41.1306950Z ##[debug]SYSTEM_CULTURE: 'en-US'
2020-09-26T16:04:41.1325343Z ##[debug]Loading resource strings from: D:\VSTSAgent\sn\_tasks\CmdLine_d9bafed4-0b18-4f58-968d-86655b4d2ce9\2.164.2\Strings\resources.resjson\en-US\resources.resjson
2020-09-26T16:04:41.1467074Z ##[debug]Loaded 6 strings.
2020-09-26T16:04:41.1670941Z ##[debug]INPUT_FAILONSTDERR: 'false'
2020-09-26T16:04:41.1696717Z ##[debug] Converted to bool: False
2020-09-26T16:04:41.1718695Z ##[debug]INPUT_SCRIPT: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\devenv" "D:\VSTSAgent\sn\30\s\st.sn.ComponentManagement.sln" /build release'
2020-09-26T16:04:41.1739155Z ##[debug]INPUT_WORKINGDIRECTORY: 'D:\VSTSAgent\sn\30\s'
2020-09-26T16:04:41.1861366Z ##[debug]Asserting container path exists: 'D:\VSTSAgent\sn\30\s'
2020-09-26T16:04:41.1900763Z Generating script.
2020-09-26T16:04:41.1963727Z Script contents:
2020-09-26T16:04:41.1969048Z "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\devenv" "D:\VSTSAgent\sn\30\s\st.sn.ComponentManagement.sln" /build release
2020-09-26T16:04:41.2078510Z ##[debug]AGENT_VERSION: '2.173.0'
2020-09-26T16:04:41.2148233Z ##[debug]AGENT_TEMPDIRECTORY: 'D:\VSTSAgent\sn\_temp'
2020-09-26T16:04:41.2166134Z ##[debug]Asserting container path exists: 'D:\VSTSAgent\sn\_temp'
2020-09-26T16:04:41.2329780Z ##[debug]Asserting leaf path exists: 'C:\Windows\system32\cmd.exe'
2020-09-26T16:04:41.2337995Z ========================== Starting Command Output ===========================
2020-09-26T16:04:41.2446509Z ##[debug]Entering Invoke-VstsTool.
2020-09-26T16:04:41.2539207Z ##[debug] Arguments: '/D /E:ON /V:OFF /S /C "CALL "D:\VSTSAgent\sn\_temp\442cb1cb-a43b-4d2a-b036-4f16ab588410.cmd""'
2020-09-26T16:04:41.2553937Z ##[debug] FileName: 'C:\Windows\system32\cmd.exe'
2020-09-26T16:04:41.2568488Z ##[debug] WorkingDirectory: 'D:\VSTSAgent\sn\30\s'
2020-09-26T16:04:41.2608339Z ##[command]"C:\Windows\system32\cmd.exe" /D /E:ON /V:OFF /S /C "CALL "D:\VSTSAgent\sn\_temp\442cb1cb-a43b-4d2a-b036-4f16ab588410.cmd""
2020-09-26T16:04:47.9474432Z
2020-09-26T16:04:47.9514773Z Microsoft Visual Studio 2019 Version 16.7.3.
2020-09-26T16:04:47.9656002Z Copyright (C) Microsoft Corp. All rights reserved.
2020-09-26T16:04:47.9656269Z
2020-09-26T16:04:47.9656416Z The license for Visual Studio expires in 19 days.
2020-09-26T16:04:47.9656554Z
2020-09-26T16:04:47.9657872Z Some errors occurred during migration. For more information, see the migration report:
2020-09-26T16:04:47.9658144Z D:\VSTSAgent\sn\30\s\UpgradeLog2.htm
2020-09-26T16:04:50.0902169Z 1>------ Build started: Project: st.sn.ComponentManagement, Configuration: Release x86 ------
2020-09-26T16:04:52.8763939Z ========== Build: 1 succeeded, 0 failed, 6 up-to-date, 0 skipped ==========
2020-09-26T16:04:53.4375608Z ##[debug]Exit code: 0
2020-09-26T16:04:53.4417000Z ##[debug]Leaving Invoke-VstsTool.
2020-09-26T16:04:53.4426510Z ##[debug]Leaving D:\VSTSAgent\sn\_tasks\CmdLine_d9bafed4-0b18-4f58-968d-86655b4d2ce9\2.164.2\cmdline.ps1.
2020-09-26T16:04:53.5245394Z ##[section]Finishing: Command Line Script
Here's the additional error log :
EVEN though the command line task passed , the .vdproj setup project didn't get updated or build . I can see that from timestamp , all other projects getting updated as usual .
I found a similar ticket you can refer to it.
Configure self-hosted agent and make sure the VS Installer Projects extension is installed on your own build agent and then you can build the setup project either use command line task with "devenv" or use the "Build VS Installer" task.
If you get the error like 8000000A, you can follow the instruction here to configure your self-hosted agent: Solution: An error occurred while validating. HRESULT = '8000000A'.
By the way, since this extension is developed by a third party. You can connect the extension owner to get the detail info
Update1
We can install the extension Build VS Installer and use the task DutchWorkz - Build VS Installer(s) to build Visual Studio Installer Project in Azure Pipelines.
I looked at the package you mentioned, at this location - https://marketplace.visualstudio.com/items?itemName=dutchworkz.BuildInstaller&ssr=false#review-details
If you go there and look at the comments other users have left behind, the error is something that is present as part of the build process. The original developer has not fixed it.
At the same, just like the users have mentioned, you are able to see the msi installer and use it. So, you are (I am assuming) getting what you need, the installer.
My best suggestion is, since you are getting what you need, ignore the error and wait till the developer fixes this issue. Until then, there is nothing you or anybody else can do about it.
Note : I also noticed that if you are using the default configuration during the build process for simple projects, it works fine. Your project and build may have some customization which is where other users have reported errors.

Ngx-translate build prod issues in IONIC 4

I'm using ngx translate for translation in my ionic 4 project. But when i try to run:
ionic cordova build android -prod
Throws this error:
ERROR in Illegal State: referring to a type without a variable {"filePath":"C:/XXX/XXX/XXX/XXX/PROJECTNAME/node_modules/#ngx-translate/core/ngx-translate-core.d.ts","name":"TranslatePipe","members":[]}
[ERROR] An error occurred while running subprocess ng
My ionic info:
Ionic:
Ionic CLI : 5.2.7 (C:\Users\USER\AppData\Roaming\npm\node_modules\ionic)
Ionic Framework : #ionic/angular 4.9.0
#angular-devkit/build-angular : 0.801.3
#angular-devkit/schematics : 8.1.3
#angular/cli : 8.1.3
#ionic/angular-toolkit : 2.0.0
Cordova:
Cordova CLI : 9.0.0 (cordova-lib#9.0.1)
Cordova Platforms : not available
Cordova Plugins : not available
Utility:
cordova-res : 0.6.0
native-run : 0.2.8
System:
Android SDK Tools : 26.1.1 (C:\Users\USER\AppData\Local\Android\Sdk)
NodeJS : v12.5.0 (C:\Program Files\nodejs\node.exe)
npm : 6.9.0
OS : Windows 10
Please help!!!
The accepted answer is a solution to avoid the problem, but when a production build is needed, things are looking bad.
Workaround to achieve this is to access your tsconfig.json and disable fullTemplateTypeCheck to false. Include it, if you can not find it.
"angularCompilerOptions": {
"fullTemplateTypeCheck": false,
...
},
This error actually means that a reference failure is present among your components and modules. That could be a dupliate reference in a module or and submodule or any the like. This would result in ommiting to make a needed variable available. In your case that is the variable of ngx-translate (which your either call in the template or component file).
Setting the fullTemplateTypeCheck to false will help you to get the insights (including code line) about your false module references. But you must fix it yourself. Usually an easy fix. If you are uncertain, run again ng build --prod --verbose to see get more indications about the false relations.
you do not need to write -prod because it converts the file into minified version so device to hard to read. u just need run without -prod
ionic cordova build android
if you want a release APK just run
ionic cordova build android --release
after that, u do not face any issue.

Enabling self-contained causes dotnet publish to fail with private NuGet

Enabling a self-contained publish causes an error when authenticating with a private NuGet feed. Without "--self-contained true" everything runs fine, with it the error below appears.
What can I do to resolve this?
##[section]Starting: Publish
==============================================================================
Task : .NET Core
Description : Build, test, package, or publish a dotnet application, or run a custom dotnet command
Version : 2.154.6
Author : Microsoft Corporation
Help : [Learn more about this task](https://go.microsoft.com/fwlink/?linkid=832194) or [see the .NET Core documentation](https://learn.microsoft.com/dotnet/core/)
==============================================================================
[command]C:\Windows\system32\chcp.com 65001
Active code page: 65001
[command]C:\agent\_work\_tool\dotnet\dotnet.exe publish C:\agent\_work\195\s\redacted.csproj --self-contained true --runtime win-x64 --configuration release --output C:\agent\_work\195\a\redacted
Microsoft (R) Build Engine version 15.9.20+g88f5fadfbe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
Restoring packages for C:\agent\_work\195\s\redacted.csproj...
Restore completed in 40.71 ms for C:\agent\_work\195\s\redacted.csproj.
Restore completed in 0.51 ms for C:\agent\_work\195\s\redacted.csproj.
Restore completed in 1.17 ms for C:\agent\_work\195\s\redacted.csproj.
Restoring packages for C:\agent\_work\195\s\redacted.csproj...
C:\agent\_work\_tool\dotnet\sdk\2.2.105\NuGet.targets(114,5): error : Unable to load the service index for source https://pkgs.dev.azure.com/redacted/_packaging/redacted/nuget/v3/index.json. [C:\agent\_work\195\s\redacted.csproj]
C:\agent\_work\_tool\dotnet\sdk\2.2.105\NuGet.targets(114,5): error : Response status code does not indicate success: 401 (Unauthorized). [C:\agent\_work\195\s\redacted.csproj]
##[error]Error: The process 'C:\agent\_work\_tool\dotnet\dotnet.exe' failed with exit code 1
##[error]Dotnet command failed with non-zero exit code on the following projects : C:\agent\_work\195\s\redacted.csproj
##[section]Finishing: Publish
error : Response status code does not indicate success: 401
(Unauthorized).
This error is caused by that in Azure Devops, for authenticating to VSTS feed, the Dotnet.exe only supports dotnet restore and dotnet nuget push commands. So, try running dotnet restore task first.
Update:
Since you have executed the dotnet restore before running dotnet publish. The auth issue should be caused by the dotnet publish task. While you execute --self-contained true, this means that except for the default files which you have locally, it also tries to get files from the other path including your private feed. For accessing private feed, it needs credential. Without credential, the private feed will refuse the get request. And then, it may cause this error.
And also, dotnet publish include an implicit restore step but will not have the system credentials in place. So, even if you have run dotnet restore successfully in the earlier step, it can also fail with non-authenticated because the credential is cleaned up after the previous task is finished.
You can add --no-restore to the arguments to avoid implicit restore. For more details, please check this doc: implicit restore that runs during publish.

Source Unreachable issue in installing Entity Framework in Visual Studio 2013

I am having issues with installing Entity Framework in Visual Studio 2013. I am having following error.
The source at nuget.org [https://www.nuget.org/api/v2/] is unreachable. Falling back to NuGet Local >Cache at C:\Users\9040\AppData\Local\NuGet\Cache
Install-Package : Unable to read package from path 'EntityFramework.6.1.2.nupkg'.
At line:1 char:16
+ install-package <<<< EntityFramework
+ CategoryInfo : NotSpecified: (:) [Install-Package], InvalidDataException
+ FullyQualifiedErrorId : >NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand
Please suggest. Thanks
Ok i got it solved. Thought i should share it. I don't know why but Package console does not pick source path from Package Manager Settings. I explicitly had to state the path with Install command and it worked. This is the command
Install-Package EntityFramework -Source https://www.nuget.org/api/v2/
Thanks