You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm not going to analyze your GitHub actions yml here - that's your project ;-) If you figure it out, we'll be happy to use your work some day in the future 😁. But I'll try to help you achieve your goal by explaining how to structure the build process and then you can implement it in a way that works within the GitHub Actions framework.
Start by cloning the repo.
You always want to run something like git clean -xdf at the start of each build. This helps ensure that any crud from previous builds is removed. The build process generates files under the repository root (generally, under .tools, artifacts, .dotnet\ etc.)
The build itself should be run 4 times.
Configuration={Release, Debug} x Platform={x86, x64}
The repo is designed to treat Platform=x86 as the default platform. This this is the only platform that generates reference assembly packages (or any packages that are architecture neutral).
Put differently, Platform=Any CPU is functionally equivalent to x86.
In Azure Pipelines, we use a matrix strategy to distribute the tasks 4 times over.
If you can generate an official build ID, then add one more argument like this: /p:OfficialBuildId=$(BuildId)
The BuildId value $(BUILD.BUILDNUMBER) in Azure Pipelines usually looks something like this: 20191208.1
-ci is an important switch for CI/PR builds. It changes the behavior of builds in a significant way. You may want to peruse the implications of this switch in https://github.com/dotnet/arcade and also look for ContinuousIntegrationBuild in various Arcade build targets. You can also try building with -ci locally to see how it behaves.
Once the build is done, you can gather the logs and upload them.
The logs are always in .binlog formate, under artifacts\logs\**\*
You can also publish or upload nuget packages optionally if you want to produce a true build system.
The nuget packages would be produced under artifacts\packages.
A set of nuget packages would require (a) architecture neutral packages from x86 builds, win-x86 specific packages from the same x86 build, and win-x64 RID specific packages from a matching x64 build.
As tooling, you'll need VS2019 16.4 on the build machines. Close to a full install would be ideal.
Once you get going and if you need additional help or want to tweak something a bit differently, we can try to help further.
Now it says LINK : fatal error LNK1104: cannot open file 'MSVCURTD_netcore.LIB' [D:\a\wpf\wpf\src\Microsoft.DotNet.Wpf\src\DirectWriteForwarder\DirectWriteForwarder.vcxproj]
Now it says LINK : fatal error LNK1104: cannot open file 'MSVCURTD_netcore.LIB' [D:\a\wpf\wpf\src\Microsoft.DotNet.Wpf\src\DirectWriteForwarder\DirectWriteForwarder.vcxproj]
Why Link error? Because the cpp project should use x86 or x64 to compile.
Activity
vatsan-madhavan commentedon Dec 10, 2019
I'm not going to analyze your GitHub actions yml here - that's your project ;-) If you figure it out, we'll be happy to use your work some day in the future 😁. But I'll try to help you achieve your goal by explaining how to structure the build process and then you can implement it in a way that works within the GitHub Actions framework.
git clean -xdfat the start of each build. This helps ensure that any crud from previous builds is removed. The build process generates files under the repository root (generally, under .tools, artifacts, .dotnet\ etc.)build.cmd -pack -ci -configuration $(Configuration) -prepareMachine /p:Platform=$(Platform)/p:OfficialBuildId=$(BuildId)$(BUILD.BUILDNUMBER)in Azure Pipelines usually looks something like this:20191208.1-ciis an important switch for CI/PR builds. It changes the behavior of builds in a significant way. You may want to peruse the implications of this switch in https://github.com/dotnet/arcade and also look forContinuousIntegrationBuildin various Arcade build targets. You can also try building with-cilocally to see how it behaves..binlogformate, underartifacts\logs\**\*As tooling, you'll need VS2019 16.4 on the build machines. Close to a full install would be ideal.
Once you get going and if you need additional help or want to tweak something a bit differently, we can try to help further.
lindexi commentedon Dec 10, 2019
@vatsan-madhavan Thank you very much
lindexi commentedon Apr 23, 2020
Now it says
LINK : fatal error LNK1104: cannot open file 'MSVCURTD_netcore.LIB' [D:\a\wpf\wpf\src\Microsoft.DotNet.Wpf\src\DirectWriteForwarder\DirectWriteForwarder.vcxproj]lindexi commentedon Apr 23, 2020
Why Link error? Because the cpp project should use x86 or x64 to compile.
lindexi commentedon Apr 23, 2020
The simplest configuration files are as follows
See: dotnet-campus#1
Thank you @vatsan-madhavan