Решавање МСВЦ141 проблема у ГитХуб акцијама
Радимо на пројекту Висуал Студио 2019 који је недавно почео да избацује изузетке у вези са датотекама које недостају, посебно 'атлбасе.х'. Чини се да је овај проблем настао због одсуства МСВЦ141 скупа алата, који није био потребан до пре неколико месеци.
У овом чланку ћемо вас упутити како да ажурирате своје .имл скрипте у ГитХуб Ацтионс да бисте укључили МСВЦ141 скуп алата. Ово обезбеђује глатку израду пројекта и избегава грешку „не може да се отвори укључена датотека“, помажући вам да одржите продуктивност у току развоја.
Цомманд | Опис |
---|---|
uses: microsoft/setup-msbuild@v1.1 | Поставља МСБуилд за ГитХуб акције, омогућавајући прављење .НЕТ пројеката. |
vs-version: 2019 | Одређује верзију Висуал Студио-а за коришћење, обезбеђујући компатибилност са МСВЦ141 скупом алата. |
msbuild-version: 16.x | Дефинише верзију МСБуилд-а, усклађујући се са потребним МСВЦ141 скупом алата за компилацију. |
extenda/actions/setup-nuget-sources@v0 | Конфигурише НуГет изворе у ГитХуб акцијама, што је неопходно за враћање зависности пројекта. |
nuget restore POS.sln | Враћа НуГет пакете за наведено решење, решавајући све зависности пре изградње. |
Copy-Item | Копира датотеке са једне локације на другу у ПоверСхелл-у, која се овде користи за руковање шаблонима базе података. |
Start-Process | Покреће нови процес у ПоверСхелл-у, користан за покретање инсталатера или других извршних датотека. |
vswhere.exe | Услужни програм за лоцирање Висуал Студио инсталација, који се користи за проверу присуства МСВЦ141. |
Интеграција МСВЦ141 скупа алата у ГитХуб акције
Горе наведене скрипте осигуравају да је МСВЦ141 скуп алата укључен у ваш радни ток ГитХуб Ацтионс. Прва скрипта ажурира ИАМЛ конфигурациону датотеку како би укључила кораке неопходне за подешавање потребних алата и окружења. Ово укључује подешавање МСБуилд-а помоћу , наводећи верзију Висуал Студио-а са , и обезбеђивање да се користи. Ови кораци осигуравају да је окружење за прављење исправно конфигурисано за коришћење МСВЦ141.
Поред тога, ПоверСхелл скрипта проверава присуство МСВЦ141 скупа алата који користи . Ако није пронађена, скрипта покреће процес инсталације покретањем са потребним аргументима за инсталирање компоненти које недостају. Овај аутоматизовани приступ осигурава да је потребан скуп алата доступан, спречавајући у вези са недостајућим укљученим датотекама као што је 'атлбасе.х'. Пратећи ове кораке, можете одржавати стабилан и конзистентан процес изградње за своје Висуал Студио 2019 пројекте у ГитХуб Ацтионс.
Ажурирајте .имл скрипту да бисте укључили МСВЦ141 скуп алата
ГитХуб Ацтионс ИАМЛ конфигурација
name: Pull request - Windows
on:
pull_request:
paths-ignore:
- 'Engine/Engine.Android/'
- 'Mobile/'
jobs:
build:
runs-on: windows-2022
defaults:
run:
shell: pwsh
env:
DEFAULT_VERSION: v17.4.500
SolutionDir: ${{ github.workspace }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
token: ${{ secrets.RS_GITHUB_TOKEN }}
submodules: true
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '11'
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v1.1
- name: Install Visual Studio
uses: microsoft/setup-msbuild@v1.1
with:
vs-version: 2019
msbuild-version: 16.x
- name: Setup NuGet sources
uses: extenda/actions/setup-nuget-sources@v0
with:
config-file: NuGet.Config
sources: |
[{
"name": "Nexus",
"source": "https://repo.extendaretail.com/repository/nuget-hosted/",
"username": "${{ secrets.NEXUS_USERNAME }}",
"password": "${{ secrets.NEXUS_PASSWORD }}",
"apikey": "${{ secrets.NUGET_API_KEY }}"
}]
- name: Restore NuGet packages
run: nuget restore POS.sln
- name: Determine version
id: ver
run: .\Build\determine-version.ps1
- name: Update assemblies
run: .\Build\update-assemblies.ps1 ${{ steps.ver.outputs.version }} ${{ steps.ver.outputs.full-version }}
- name: Generate database template
run: |
.\Common\Database\AppVeyor\gen-databases.ps1 Common\Database abcDb
Copy-Item abcDb\Template.db -Destination Common\Database
- name: Build solution
run: msbuild POS.sln @Build\WindowsBuildParams.rsp
- name: Build installation packages
run: |
.\Build\exit-on-failure.ps1
msbuild Installation\Installation.sln @Build\WindowsBuildParams.rsp -p:BuildNumber=${{ steps.ver.outputs.full-version }}
ExitOnFailure
Get-ChildItem Installation\Bin\Release
Rename-Item -Path Installation\Bin\Release\abc.msi -NewName abc-v${{ steps.ver.outputs.full-version }}.msi
Rename-Item -Path Installation\Bin\Release\abc.exe -NewName abc-v${{ steps.ver.outputs.full-version }}.exe
Rename-Item -Path Installation\Bin\Release\VRRSSurfaceComponentsEditor.msi -NewName SurfaceComponentsEditor-v${{ steps.ver.outputs.full-version }}.msi
- name: Generate customization package
run: .\Common\Database\AppVeyor\gen-customization-zip.ps1 Common\Database ${{ steps.ver.outputs.full-version }}
- name: Save abc Installer
uses: actions/upload-artifact@v3
with:
name: abcInstaller-v${{ steps.ver.outputs.full-version }}
path: Installation\Bin\Release\abc-*.msi
- name: Save abc Setup
uses: actions/upload-artifact@v3
with:
name: abcSetup-v${{ steps.ver.outputs.full-version }}
path: Installation\Bin\Release\abc-*.exe
- name: Save Database
uses: actions/upload-artifact@v3
with:
name: Database-v${{ steps.ver.outputs.full-version }}
path: Common\Database\CustomizationTemplate\*
Осигурајте исправан МСВЦ скуп алата у ГитХуб радњама
ПоверСхелл скрипта за проверу и инсталирање МСВЦ141
$vswherePath = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe"
if (-Not (Test-Path $vswherePath)) {
Write-Error "vswhere.exe not found at $vswherePath"
exit 1
}
$vsInstallPath = & $vswherePath -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath
if (-Not $vsInstallPath) {
Write-Output "MSVC141 not found. Installing..."
Start-Process -FilePath "cmd.exe" -ArgumentList "/c start /wait vs_installer.exe --quiet --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --includeRecommended --includeOptional" -Wait
if ($?) {
Write-Output "MSVC141 installation completed."
}
else {
Write-Error "Failed to install MSVC141."
exit 1
}
} else {
Write-Output "MSVC141 already installed at $vsInstallPath"
}
exit 0
Обезбеђивање компатибилности са МСВЦ скуповима алата у ГитХуб акцијама
Одржавање компатибилности са различитим скуповима алата у окружењу за континуирану интеграцију (ЦИ), као што је ГитХуб Ацтионс, кључно је за осигуравање конзистентне израде и минимизирање грешака. Један од кључних аспеката је да ажурирате своје конфигурационе датотеке са потребним алатима и зависностима. У случају МСВЦ141, важно је разумети да је овај скуп алата неопходан за одређене пројекте, посебно оне који се ослањају на старије Ц++ библиотеке и компоненте.
Укључивање МСВЦ141 скупа алата у ваше ГитХуб Ацтионс подешавање укључује не само навођење исправне верзије Висуал Студио-а већ и осигуравање да су све зависности решене. Ово укључује исправно конфигурисање НуГет извора и коришћење услужних програма као што су за проверу инсталација. Аутоматизација ових корака унутар вашег и ПоверСхелл скрипте помажу у спречавању грешака у изградњи и одржавају неометано функционисање вашег ЦИ/ЦД цевовода, на крају штедећи време и ресурсе за развој.
- Како да наведем верзију Висуал Студио-а у ГитХуб радњама?
- Користите у вашем конфигурацију да бисте подесили жељену верзију Висуал Студио-а.
- Шта је и зашто се користи?
- је услужни програм за лоцирање Висуал Студио инсталација, осигуравајући да су потребни скупови алата доступни.
- Како могу да аутоматизујем инсталацију компоненти које недостају?
- Користите у ПоверСхелл-у да бисте покренули инсталатер са потребним аргументима за инсталације без надзора.
- Зашто је важно конфигурисати НуГет изворе?
- Конфигурисање НуГет извора осигурава да су све зависности пројекта решене, што је кључно за успешне градње.
- Како да проверим присуство МСВЦ141 скупа алата?
- Користите у скрипти за верификацију путање инсталације скупа алата МСВЦ141.
- Шта ради спецификовати?
- Он одређује верзију МСБуилд-а која ће се користити, обезбеђујући компатибилност са МСВЦ141 скупом алата.
- Како да вратим НуГет пакете у ГитХуб Ацтионс?
- Користите команду праћено вашом датотеком решења, нпр .
- Која је сврха поступак?
- Конфигурише окружење да користи МСБуилд, неопходан за прављење .НЕТ пројеката у ГитХуб Ацтионс.
- Како могу аутоматски преименовати артефакте изградње?
- Користите ПоверСхелл команде као што су да бисте преименовали датотеке на основу верзије израде.
- Зашто укључити у Јава подешавању?
- Ово специфицира ЈДК дистрибуцију коју треба користити, осигуравајући да је исправна Јава верзија инсталирана за ваш пројекат.
Обезбеђивање да је МСВЦ141 скуп алата укључен у ваш радни ток ГитХуб Ацтионс је од суштинског значаја за одржавање стабилности и функционалности ваших Висуал Студио 2019 пројеката. Ажурирањем ваших .имл скрипти и аутоматизацијом процеса инсталације, можете спречити уобичајене грешке у изградњи које се односе на датотеке које недостају. Овај проактивни приступ не само да штеди време, већ и побољшава ефикасност вашег ЦИ/ЦД цевовода, омогућавајући глаткију и поузданију израду пројеката.