This commit is contained in:
Jared Parsons 2024-08-19 15:43:03 -07:00 коммит произвёл GitHub
Родитель da79940a3a
Коммит 0ff482d029
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
4 изменённых файлов: 130 добавлений и 25 удалений

19
.devcontainer/Dockerfile Normal file
Просмотреть файл

@ -0,0 +1,19 @@
FROM mcr.microsoft.com/dotnet/sdk:8.0
ARG DOTNET_SDK_INSTALL_URL=https://dot.net/v1/dotnet-install.sh
# Install the correct Roslyn SDK into the same directory that the base image installs the SDK in.
ENV DOTNET_INSTALL_DIR=/usr/share/dotnet
# Copy the global.json file so its available in the image before the repo is cloned
COPY global.json /tmp/
RUN cd /tmp \
&& curl --location --output dotnet-install.sh "${DOTNET_SDK_INSTALL_URL}" \
&& chmod +x dotnet-install.sh \
&& mkdir -p "${DOTNET_INSTALL_DIR}" \
&& ./dotnet-install.sh --jsonfile "./global.json" --install-dir "${DOTNET_INSTALL_DIR}" \
&& rm dotnet-install.sh
# Set up machine requirements to build the repo
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends curl git

Просмотреть файл

@ -0,0 +1,60 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.140.1/containers/dotnetcore
{
"name": "Razor DevContainer",
"build": {
"dockerfile": "Dockerfile",
// Set the context to the workspace folder to allow us to copy files from it.
"context": ".."
},
"customizations": {
"vscode": {
"settings": {
"files.associations": {
"*.csproj": "msbuild",
"*.fsproj": "msbuild",
"*.globalconfig": "ini",
"*.manifest": "xml",
"*.nuspec": "xml",
"*.pkgdef": "ini",
"*.projitems": "msbuild",
"*.props": "msbuild",
"*.resx": "xml",
"*.rsp": "Powershell",
"*.ruleset": "xml",
"*.settings": "xml",
"*.shproj": "msbuild",
"*.slnf": "json",
"*.targets": "msbuild",
"*.vbproj": "msbuild",
"*.vsixmanifest": "xml",
"*.vstemplate": "xml",
"*.xlf": "xml",
"*.yml": "azure-pipelines"
},
// ms-dotnettools.csharp settings
"omnisharp.disableMSBuildDiagnosticWarning": true,
"omnisharp.enableEditorConfigSupport": true,
"omnisharp.enableImportCompletion": true,
"omnisharp.useModernNet": true,
"omnisharp.enableAsyncCompletion": true,
// ms-dotnettools.csdevkit settings
"dotnet.defaultSolution": "Razor.sln",
// ms-vscode.powershell settings
"powershell.promptToUpdatePowerShell": false,
"powershell.integratedConsole.showOnStartup": false,
"powershell.startAutomatically": false,
// ms-azure-devops.azure-pipelines settings
},
"extensions": [
"ms-dotnettools.csharp",
"ms-dotnettools.csdevkit",
"EditorConfig.EditorConfig",
"ms-vscode.powershell",
"tintoy.msbuild-project-tools",
"ms-azure-devops.azure-pipelines"
]
}
},
"postCreateCommand": "${containerWorkspaceFolder}/restore.sh"
}

3
.vscode/settings.json поставляемый
Просмотреть файл

@ -15,5 +15,6 @@
}, },
"dotnet.defaultSolution": "Razor.sln", "dotnet.defaultSolution": "Razor.sln",
"omnisharp.defaultLaunchSolution": "Razor.sln", "omnisharp.defaultLaunchSolution": "Razor.sln",
"files.encoding": "utf8bom" "files.encoding": "utf8bom",
"dotnet.testWindow.disableBuildOnRefresh": true
} }

25
.vscode/tasks.json поставляемый
Просмотреть файл

@ -23,5 +23,30 @@
} }
}, },
}, },
{
"label": "build.sh",
"command": "./build.sh",
"type": "shell",
"args": [
],
"windows": {
"command": "${workspaceFolder}/build.cmd",
},
"problemMatcher": "$msCompile",
"group": "build"
},
{
"label": "build Rasor.Slim.slnf",
"command": "dotnet",
"type": "shell",
"args": [
"build",
"-p:RunAnalyzersDuringBuild=false",
"-p:GenerateFullPaths=true",
"Razor.Slim.slnf"
],
"problemMatcher": "$msCompile",
"group": "build"
}
] ]
} }