diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 803a045f7be..920d8004928 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -1,5 +1,15 @@ { "redirections": [ + { + "source_path": "docs/deployment/azure-deployment-using-github-actions.md", + "redirect_url": "/visualstudio/azure/azure-deployment-using-github-actions", + "redirect_document_id": true + }, + { + "source_path": "docs/deployment/end-to-end-deployment-entity-framework-core-github-actions.md", + "redirect_url": "/visualstudio/azure/end-to-end-deployment-entity-framework-core-github-actions", + "redirect_document_id": true + }, { "source_path": "docker/tutorials/tutorial-deploy-docker-app-azure.md", "redirect_url": "/visualstudio/docker/tutorials/docker-tutorial", @@ -18013,6 +18023,16 @@ "source_path": "subscriptions/search-license.md", "redirect_url": "/visualstudio/subscriptions", "redirect_document_id": false - } + }, + { + "source_path": "subscriptions/admin-inventory.md", + "redirect_url": "/visualstudio/subscriptions/admin-responsibilities", + "redirect_document_id": false + }, + { + "source_path": "subscriptions/anonymization.md", + "redirect_url": "/visualstudio/subscriptions/subscription-removed", + "redirect_document_id": false + } ] } diff --git a/docs/deployment/azure-deployment-using-github-actions.md b/docs/azure/azure-deployment-using-github-actions.md similarity index 74% rename from docs/deployment/azure-deployment-using-github-actions.md rename to docs/azure/azure-deployment-using-github-actions.md index fd371d92f9b..51c4080215c 100644 --- a/docs/deployment/azure-deployment-using-github-actions.md +++ b/docs/azure/azure-deployment-using-github-actions.md @@ -24,45 +24,45 @@ Starting in Visual Studio 2019 version 16.11, you can create new GitHub Actions In Solution Explorer, right-click your GitHub.com hosted project and choose **Publish**. -![right-click > Publish](./media/solution-explorer-publish.png) +![right-click > Publish](./media/azure-deployment-using-github-actions/solution-explorer-publish.png) On the next screen, select **Azure** and then choose **Next**. -![select Azure](./media/wizard-azure.png) +![select Azure](./media/azure-deployment-using-github-actions/wizard-azure.png) Depending on your [project type](#which-project-types-are-supported), you get a different list of Azure services to pick from. Pick one of the [supported Azure services](#which-azure-services-are-supported) that fits your needs. -![select the appropriate Azure service for your project](./media/wizard-pick-azure-service.png) +![select the appropriate Azure service for your project](./media/azure-deployment-using-github-actions/wizard-pick-azure-service.png) On the final step of the wizard, select **CI/CD using GitHub Actions workflows (generates yml file)** and then choose **Finish**. -![CI/CD using GitHub Actions workflows (generates yml file)](./media/wizard-final-step.png) +![CI/CD using GitHub Actions workflows (generates yml file)](./media/azure-deployment-using-github-actions/wizard-final-step.png) Visual Studio generates a new GitHub Actions workflow and asks you to commit it and push it to GitHub.com. -![commit and push](./media/summary-commit-and-push.png) +![commit and push](./media/azure-deployment-using-github-actions/summary-commit-and-push.png) If you complete this step by using the [built-in Git tooling](../version-control/git-with-visual-studio.md?view=vs-2019&preserve-view=true#git-changes-window-in-visual-studio-2019), Visual Studio will detect the execution of the workflow. -![workflow is running](./media/summary-workflow-running.png) +![workflow is running](./media/azure-deployment-using-github-actions/summary-workflow-running.png) ## Setting the GitHub secrets For the generated workflow to successfully deploy to Azure, it may require access to a [publish profile](/azure/app-service/deploy-github-actions?tabs=applevel#configure-the-github-secret). -![one github secret](./media/summary-one-github-secret.png) +![one github secret](./media/azure-deployment-using-github-actions/summary-one-github-secret.png) A successful deployment may also require access to a [service principal](/azure/app-service/deploy-github-actions?tabs=userlevel#configure-the-github-secret). -![two github secrets](./media/summary-two-github-secrets.png) +![two github secrets](./media/azure-deployment-using-github-actions/summary-two-github-secrets.png) In all cases, Visual Studio tries to set the GitHub secret for you with the correct value. If it fails, it will let you know and give you the opportunity to try again. -![github secret missing](./media/summary-one-github-secret-missing.png) +![github secret missing](./media/azure-deployment-using-github-actions/summary-one-github-secret-missing.png) If it fails to set the secret again, Visual Studio gives you the opportunity to get access to the secret manually, so you can complete the process through your repo's page on github.com. -![set missing github secret](./media/summary-set-github-secret.png) +![set missing github secret](./media/azure-deployment-using-github-actions/summary-set-github-secret.png) ## Which project types are supported? diff --git a/docs/deployment/end-to-end-deployment-entity-framework-core-github-actions.md b/docs/azure/end-to-end-deployment-entity-framework-core-github-actions.md similarity index 84% rename from docs/deployment/end-to-end-deployment-entity-framework-core-github-actions.md rename to docs/azure/end-to-end-deployment-entity-framework-core-github-actions.md index ac6955697b0..49ecb8ff9e7 100644 --- a/docs/deployment/end-to-end-deployment-entity-framework-core-github-actions.md +++ b/docs/azure/end-to-end-deployment-entity-framework-core-github-actions.md @@ -50,7 +50,7 @@ The ToDo application is ready to go, but you'll need to establish a connection t Visual Studio displays a summary of the service dependencies, including the connection to `LocalDB`. -:::image type="content" source="./media/visual-studio-service-connections.png" lightbox="./media/visual-studio-service-connections-large.png" alt-text="A screenshot showing how to add a migration using Visual Studio."::: +:::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-service-connections.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-service-connections-large.png" alt-text="A screenshot showing how to add a migration using Visual Studio."::: Next you'll need to create an initial migration and use it to update the local database with the correct schema for the todo app. @@ -103,7 +103,7 @@ The publishing features of Visual Studio can handle creating these resources for 1. For the specific target, select **Azure Container Apps (Linux)**, and then select **Next**. 1. Create a new container app to deploy to. Select the **+ Create new** button to open a new dialog and enter the following values: - :::image type="content" source="./media/visual-studio-create-container-app.png" lightbox="./media/visual-studio-create-container-app-large.png" alt-text="A screenshot showing how to create a container app."::: + :::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-create-container-app.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-create-container-app-large.png" alt-text="A screenshot showing how to create a container app."::: * **Container app name**: Leave the default value or enter a name. * **Subscription name**: Select the subscription to deploy to. @@ -119,7 +119,7 @@ The publishing features of Visual Studio can handle creating these resources for 1. Once the resource is created, make sure it's selected in the list of container apps, and then select **Next**. 1. You'll need to create an Azure Container Registry to store the published image artifact for your app. Select the green **+** icon on the container registry screen. - :::image type="content" source="./media/visual-studio-container-registry.png" lightbox="./media/visual-studio-container-registry-large.png" alt-text="A screenshot showing how to create a new container registry."::: + :::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-container-registry.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-container-registry-large.png" alt-text="A screenshot showing how to create a new container registry."::: 1. Leave the default values, and then select **Create**. 1. After the container registry is created, make sure it's selected, and then select next. @@ -162,7 +162,7 @@ Visual Studio creates and displays the publishing profile. Most of the publishin - **SQL database**: Select the database you created earlier. - **Client type**: Select **.NET**. - :::image type="content" source="./media/azure-portal-service-connector.png" lightbox="./media/azure-portal-service-connector-large.png" alt-text="A screenshot showing how to use service connector."::: + :::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-service-connector.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-service-connector-large.png" alt-text="A screenshot showing how to use service connector."::: 1. Select **Next: Authentication** and enter the following values: * Select **Connection string** for the authentication type. @@ -184,7 +184,7 @@ The GitHub Actions workflow file generated by Visual Studio can be used by GitHu 1. On the database overview page, select **Connection strings** from the left navigation. 1. On the **ADO.NET** tab, copy the connection string out of the form field. - :::image type="content" source="./media/azure-portal-connection-string.png" lightbox="./media/azure-portal-connection-string-large.png" alt-text="A screenshot showing how to retrieve the connection string."::: + :::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-connection-string.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-connection-string-large.png" alt-text="A screenshot showing how to retrieve the connection string."::: 1. Navigate to the forked GitHub repository of the app. 1. Under the **Settings** tab, select **Secrets > Actions** from the left navigation, and then choose **New repository secret**. @@ -193,7 +193,7 @@ The GitHub Actions workflow file generated by Visual Studio can be used by GitHu - **Secret**: Paste the connection string copied from Azure. **Make sure to replace the password placeholder in the connection string with the password you chose when creating the database.** - Select **Add secret**. - :::image type="content" source="./media/github-secret.png" lightbox="./media/github-secret-large.png" alt-text="A screenshot showing how to create a GitHub secret."::: + :::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/github-secret.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/github-secret-large.png" alt-text="A screenshot showing how to create a GitHub secret."::: The connection string is now stored securely in the GitHub repository secrets and can be retrieved using a GitHub workflow. @@ -201,7 +201,7 @@ The connection string is now stored securely in the GitHub repository secrets an 1. Open the GitHub Actions workflow `.yml` file generated by Visual Studio by selecting the **Edit Workflow** button on the publishing summary page. - :::image type="content" source="./media/visual-studio-edit-workflow.png" lightbox="./media/visual-studio-edit-workflow-large.png" alt-text="A screenshot showing how to edit the workflow."::: + :::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-edit-workflow.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-edit-workflow-large.png" alt-text="A screenshot showing how to edit the workflow."::: 1. Append the following yaml to the end of the workflow file: @@ -227,7 +227,7 @@ The connection string is now stored securely in the GitHub repository secrets an 2. Navigate to the GitHub repository and select the **Actions** tab. A workflow run should have triggered automatically if the push was successful. 1. Select the active workflow to view the log details for each step as they complete. The migration runs last to update the database in Azure. - :::image type="content" source="./media/github-actions-workflow.png" lightbox="./media/github-actions-workflow-large.png" alt-text="A screenshot showing the GitHub action workflow."::: + :::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/github-actions-workflow.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/github-actions-workflow-large.png" alt-text="A screenshot showing the GitHub action workflow."::: After the workflow completes, the application is deployed to Azure Container Apps and connected to the database with an updated schema. diff --git a/docs/azure/index.yml b/docs/azure/index.yml index 0764d3e876a..b51e19e2928 100644 --- a/docs/azure/index.yml +++ b/docs/azure/index.yml @@ -12,51 +12,63 @@ metadata: ms.author: ghogen landingContent: - - title: Deploy to Azure + - title: About Azure development linkLists: - linkListType: overview links: - - text: Overview of Azure integration + - text: Azure in Visual Studio url: overview-azure-integration.md + - text: Azure SDK for .NET + url: /dotnet/azure + - title: Deploy to Azure + linkLists: - linkListType: tutorial links: - - text: Deploy an ASP.NET Core app to Azure - url: /azure/app-service/app-service-web-get-started-dotnet-framework - - text: Deploy an ASP.NET web app to Azure + - text: ASP.NET Core to App Service + url: /azure/app-service/app-service-web-get-started-dotnet + - text: ASP.NET to App Service (.NET Framework) + url: /azure/app-service/app-service-web-get-started-dotnet + - text: ASP.NET web app to Azure Web Apps url: /aspnet/core/tutorials/publish-to-azure-webapp-using-vs - - text: Deploy an ASP.NET Core web app to Azure Container Apps + - text: ASP.NET Core web app to Azure Container Apps url: /azure/container-apps/deploy-visual-studio + - text: Azure Logic Apps + url: /azure/logic-apps/quickstart-create-logic-apps-with-visual-studio + - text: Azure Functions + url: /azure/azure-functions/functions-create-your-first-function-visual-studio + + - title: Connect to Azure services + linkLists: + - linkListType: overview + links: + - text: Connected Services + url: overview-connected-services.md + - linkListType: tutorial + links: + - text: Active Directory + url: /azure/active-directory/develop/vs-active-directory-add-connected-service + - text: Redis Cache + url: azure-cache-for-redis-add-connected-service.md + - text: Cosmos DB + url: azure-cosmosdb-add-connected-service.md + - text: Key Vault + url: /azure/key-vault/vs-key-vault-add-connected-service + - text: SignalR + url: azure-signalr-add-connected-service.md + - text: SQL Database + url: azure-sql-database-add-connected-service.md + - text: Storage + url: vs-azure-tools-connected-services-storage.md + + - title: Continuous integration + linkLists: + - linkListType: tutorial + links: - text: Continuous deployment to Azure with Visual Studio and Git url: /azure/app-service/deploy-continuous-deployment - text: Continuous deployment to Azure with Azure Pipelines url: /azure/devops/pipelines/get-started-yaml - - - title: Azure App Services, Logic Apps, and Azure Functions - linkLists: - - linkListType: tutorial - links: - - text: Build and host a web app with Azure App Service - url: /azure/app-service/app-service-web-get-started-dotnet - - text: Build automated, scalable workflows with Azure Logic Apps - url: /azure/logic-apps/quickstart-create-logic-apps-with-visual-studio - - text: Process events with Azure Functions - url: /azure/azure-functions/functions-create-your-first-function-visual-studio - - linkListType: overview - links: - - text: Azure SDK for .NET and .NET Core Developers - url: /dotnet/azure - - - title: Container development - linkLists: - - linkListType: overview - links: - - text: Container development - url: ../containers/index.yml - - text: Container tools in Visual Studio - url: ../containers/overview.md - - text: Kubernetes tools - url: /visualstudio/bridge/overview-bridge-to-kubernetes - + - title: Debug Azure services and analyze performance linkLists: - linkListType: tutorial @@ -69,64 +81,10 @@ landingContent: url: vs-azure-tools-debug-cloud-services-virtual-machines.md - text: Measure performance for cloud services in Azure url: vs-azure-tools-performance-profiling-cloud-services.md - - - title: Connected Services - linkLists: - - linkListType: overview - links: - - text: Overview - url: overview-connected-services.md - - linkListType: tutorial - links: - - text: Azure Active Directory - url: /azure/active-directory/develop/vs-active-directory-add-connected-service - - text: Azure Cache for Redis - url: azure-cache-for-redis-add-connected-service.md - - text: Azure Cosmos DB - url: azure-cosmosdb-add-connected-service.md - - text: Azure Key Vault - url: /azure/key-vault/vs-key-vault-add-connected-service - - text: Azure SignalR - url: azure-signalr-add-connected-service.md - - text: Azure SQL Database - url: azure-sql-database-add-connected-service.md - - text: Azure Storage - url: vs-azure-tools-connected-services-storage.md + - title: Azure Cloud Services linkLists: - linkListType: how-to-guide links: - text: Create and deploy to Cloud Services (extended support) url: cloud-services-extended-support.md - - text: Create and configure Azure cloud service projects - url: vs-azure-tools-azure-project-create.md - - text: Debug cloud services locally and in Azure - url: vs-azure-tools-debugging-cloud-services-overview.md - - text: Analyze performance with the Visual Studio profiler - url: vs-azure-tools-performance-profiling-cloud-services.md - - text: Deploy a cloud service to Azure - url: vs-azure-tools-publishing-a-cloud-service.md - - text: Monitor and diagnose cloud services and virtual machines running in Azure - url: vs-azure-tools-diagnostics-for-cloud-services-and-virtual-machines.md - - - title: Cloud Explorer - linkLists: - - linkListType: how-to-guide - links: - - text: Access Azure storage accounts in Visual Studio - url: vs-azure-tools-storage-resources-server-explorer-browse-manage.md - - text: Access Virtual Machines from Visual Studio - url: vs-azure-tools-virtual-machines-access-from-server-explorer.md - - - title: Other Resources - linkLists: - - linkListType: how-to-guide - links: - - text: Azure Resource Group - url: /azure/azure-resource-manager/vs-azure-tools-resource-groups-deployment-projects-create-deploy - - text: Data Lake Analytics - url: /azure/data-lake-analytics/data-lake-analytics-data-lake-tools-get-started - - text: Stream Analytics - url: /azure/stream-analytics/stream-analytics-quick-create-vs - - text: Service Fabric - url: /azure/service-fabric/service-fabric-get-started diff --git a/docs/deployment/media/solution-explorer-publish.png b/docs/azure/media/azure-deployment-using-github-actions/solution-explorer-publish.png similarity index 100% rename from docs/deployment/media/solution-explorer-publish.png rename to docs/azure/media/azure-deployment-using-github-actions/solution-explorer-publish.png diff --git a/docs/deployment/media/summary-commit-and-push.png b/docs/azure/media/azure-deployment-using-github-actions/summary-commit-and-push.png similarity index 100% rename from docs/deployment/media/summary-commit-and-push.png rename to docs/azure/media/azure-deployment-using-github-actions/summary-commit-and-push.png diff --git a/docs/deployment/media/summary-one-github-secret-missing.png b/docs/azure/media/azure-deployment-using-github-actions/summary-one-github-secret-missing.png similarity index 100% rename from docs/deployment/media/summary-one-github-secret-missing.png rename to docs/azure/media/azure-deployment-using-github-actions/summary-one-github-secret-missing.png diff --git a/docs/deployment/media/summary-one-github-secret.png b/docs/azure/media/azure-deployment-using-github-actions/summary-one-github-secret.png similarity index 100% rename from docs/deployment/media/summary-one-github-secret.png rename to docs/azure/media/azure-deployment-using-github-actions/summary-one-github-secret.png diff --git a/docs/deployment/media/summary-set-github-secret.png b/docs/azure/media/azure-deployment-using-github-actions/summary-set-github-secret.png similarity index 100% rename from docs/deployment/media/summary-set-github-secret.png rename to docs/azure/media/azure-deployment-using-github-actions/summary-set-github-secret.png diff --git a/docs/deployment/media/summary-two-github-secrets.png b/docs/azure/media/azure-deployment-using-github-actions/summary-two-github-secrets.png similarity index 100% rename from docs/deployment/media/summary-two-github-secrets.png rename to docs/azure/media/azure-deployment-using-github-actions/summary-two-github-secrets.png diff --git a/docs/deployment/media/summary-workflow-running.png b/docs/azure/media/azure-deployment-using-github-actions/summary-workflow-running.png similarity index 100% rename from docs/deployment/media/summary-workflow-running.png rename to docs/azure/media/azure-deployment-using-github-actions/summary-workflow-running.png diff --git a/docs/deployment/media/wizard-azure.png b/docs/azure/media/azure-deployment-using-github-actions/wizard-azure.png similarity index 100% rename from docs/deployment/media/wizard-azure.png rename to docs/azure/media/azure-deployment-using-github-actions/wizard-azure.png diff --git a/docs/deployment/media/wizard-final-step.png b/docs/azure/media/azure-deployment-using-github-actions/wizard-final-step.png similarity index 100% rename from docs/deployment/media/wizard-final-step.png rename to docs/azure/media/azure-deployment-using-github-actions/wizard-final-step.png diff --git a/docs/deployment/media/wizard-pick-azure-service.png b/docs/azure/media/azure-deployment-using-github-actions/wizard-pick-azure-service.png similarity index 100% rename from docs/deployment/media/wizard-pick-azure-service.png rename to docs/azure/media/azure-deployment-using-github-actions/wizard-pick-azure-service.png diff --git a/docs/deployment/media/azure-portal-connection-string-large.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-connection-string-large.png similarity index 100% rename from docs/deployment/media/azure-portal-connection-string-large.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-connection-string-large.png diff --git a/docs/deployment/media/azure-portal-connection-string.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-connection-string.png similarity index 100% rename from docs/deployment/media/azure-portal-connection-string.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-connection-string.png diff --git a/docs/deployment/media/azure-portal-service-connector-large.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-service-connector-large.png similarity index 100% rename from docs/deployment/media/azure-portal-service-connector-large.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-service-connector-large.png diff --git a/docs/deployment/media/azure-portal-service-connector.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-service-connector.png similarity index 100% rename from docs/deployment/media/azure-portal-service-connector.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-service-connector.png diff --git a/docs/deployment/media/github-actions-workflow-large.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/github-actions-workflow-large.png similarity index 100% rename from docs/deployment/media/github-actions-workflow-large.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/github-actions-workflow-large.png diff --git a/docs/deployment/media/github-actions-workflow.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/github-actions-workflow.png similarity index 100% rename from docs/deployment/media/github-actions-workflow.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/github-actions-workflow.png diff --git a/docs/deployment/media/github-secret-large.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/github-secret-large.png similarity index 100% rename from docs/deployment/media/github-secret-large.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/github-secret-large.png diff --git a/docs/deployment/media/github-secret.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/github-secret.png similarity index 100% rename from docs/deployment/media/github-secret.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/github-secret.png diff --git a/docs/deployment/media/visual-studio-container-registry-large.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-container-registry-large.png similarity index 100% rename from docs/deployment/media/visual-studio-container-registry-large.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-container-registry-large.png diff --git a/docs/deployment/media/visual-studio-container-registry.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-container-registry.png similarity index 100% rename from docs/deployment/media/visual-studio-container-registry.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-container-registry.png diff --git a/docs/deployment/media/visual-studio-create-container-app-large.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-create-container-app-large.png similarity index 100% rename from docs/deployment/media/visual-studio-create-container-app-large.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-create-container-app-large.png diff --git a/docs/deployment/media/visual-studio-create-container-app.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-create-container-app.png similarity index 100% rename from docs/deployment/media/visual-studio-create-container-app.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-create-container-app.png diff --git a/docs/deployment/media/visual-studio-edit-workflow-large.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-edit-workflow-large.png similarity index 100% rename from docs/deployment/media/visual-studio-edit-workflow-large.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-edit-workflow-large.png diff --git a/docs/deployment/media/visual-studio-edit-workflow.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-edit-workflow.png similarity index 100% rename from docs/deployment/media/visual-studio-edit-workflow.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-edit-workflow.png diff --git a/docs/deployment/media/visual-studio-service-connections-large.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-service-connections-large.png similarity index 100% rename from docs/deployment/media/visual-studio-service-connections-large.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-service-connections-large.png diff --git a/docs/deployment/media/visual-studio-service-connections.png b/docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-service-connections.png similarity index 100% rename from docs/deployment/media/visual-studio-service-connections.png rename to docs/azure/media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-service-connections.png diff --git a/docs/azure/toc.yml b/docs/azure/toc.yml index 476d74f8883..10e69415fae 100644 --- a/docs/azure/toc.yml +++ b/docs/azure/toc.yml @@ -2,26 +2,14 @@ href: index.yml expanded: true - name: Overview - href: overview-azure-integration.md -- name: Deploy to Azure App Service - items: - - name: Deploy an ASP.NET Core app to Azure - href: /aspnet/core/tutorials/publish-to-azure-webapp-using-vs?view=aspnetcore-2.1&preserve-view=true - - name: Deploy a .NET TODO List web app to Azure - href: /dotnet/azure/dotnet-quickstart-vs?view=azure-dotnet&preserve-view=true - - name: Continuous deployment to Azure with Visual Studio and Git with ASP.NET Core - href: /azure/app-service/deploy-continuous-deployment - - name: Continuous deployment to Azure with Azure Pipelines - href: /azure/devops/pipelines/get-started-yaml?view=vsts&preserve-view=true - - name: Deploy an ASP.NET web app to an Azure VM - href: /aspnet/core/tutorials/publish-to-azure-webapp-using-vs?toc=/visualstudio/azure/toc.json&bc=/visualstudio/azure/breadcrumb/toc.json - - name: Deploy an ASP.NET Core web app to Azure Container Apps - href: /azure/container-apps/deploy-visual-studio?toc=/visualstudio/azure/toc.json&bc=/visualstudio/azure/breadcrumb/toc.json expanded: true -- name: Connect to Azure services items: - - name: Connected Services overview + - name: Connected Services href: overview-connected-services.md + - name: Publish to Azure + href: overview-azure-integration.md +- name: Connect to Azure services + items: - name: Add Azure Active Directory (Azure AD) href: vs-active-directory-add-connected-service.md - name: Add Azure App Insights @@ -31,7 +19,7 @@ - name: Add Azure CosmosDB href: azure-cosmosdb-add-connected-service.md - name: Add Azure Key Vault - href: /azure/key-vault/vs-key-vault-add-connected-service?toc=/visualstudio/azure/toc.json&bc=/visualstudio/azure/breadcrumb/toc.json + href: /azure/key-vault/vs-key-vault-add-connected-service - name: Add Azure SignalR href: azure-signalr-add-connected-service.md - name: Add Azure SQL Database @@ -41,20 +29,37 @@ - name: Add Azure App Configuration href: vs-azure-tools-connected-services-app-configuration.md expanded: false -- name: GitHub Actions - href: overview-github-actions.md -- name: How to +- name: Publish ASP.NET web app items: - - name: Get publish profile from Azure App Service - href: how-to-get-publish-profile-from-azure-app-service.md - - name: Sign in with your Azure subscription - href: how-to-sign-in-with-azure-subscription.md + - name: Azure Container Apps >> + href: /azure/container-apps/deploy-visual-studio + - name: Azure App Service >> + href: /aspnet/core/tutorials/publish-to-azure-webapp-using-vs + - name: Azure Container Registry + href: ../containers/hosting-web-apps-in-docker.md +- name: Publish Azure Function app + items: + - name: Azure Function Apps >> + href: /azure/azure-functions/functions-create-your-first-function-visual-studio +- name: Continuous integration + expanded: true + items: + - name: GitHub Actions + items: + - name: Overview + href: overview-github-actions.md + - name: Deploy to Azure using GitHub Actions + href: azure-deployment-using-github-actions.md + - name: ASP.NET Core and Git >> + href: /azure/app-service/deploy-continuous-deployment + - name: Azure Pipelines >> + href: /azure/devops/pipelines/get-started-yaml?view=vsts&preserve-view=true - name: Azure Cloud Services development items: + - name: Use Cloud Services (extended support) + href: cloud-services-extended-support.md - name: Work with cloud service projects items: - - name: Use Cloud Services (extended support) - href: cloud-services-extended-support.md - name: Create an Azure cloud service project href: vs-azure-tools-azure-project-create.md - name: Manage roles in Azure cloud services @@ -112,19 +117,19 @@ - name: Work with Azure storage items: - name: Get started with Storage Explorer - href: /azure/vs-azure-tools-storage-manage-with-storage-explorer?toc=/visualstudio/azure/toc.json&bc=/visualstudio/azure/breadcrumb/toc.json + href: /azure/vs-azure-tools-storage-manage-with-storage-explorer - name: Configure and Use the Storage Emulator with Visual Studio - href: /azure/vs-azure-tools-storage-emulator-using?toc=/visualstudio/azure/toc.json&bc=/visualstudio/azure/breadcrumb/toc.json + href: /azure/vs-azure-tools-storage-emulator-using - name: Constructing filter strings for the Table Designer href: vs-azure-tools-table-designer-construct-filter-strings.md - name: Manage Azure blob storage resources with Storage Explorer - href: /azure/vs-azure-tools-storage-explorer-blobs?toc=/visualstudio/azure/toc.json&bc=/visualstudio/azure/breadcrumb/toc.json + href: /azure/vs-azure-tools-storage-explorer-blobs - name: Use Storage Explorer with Azure file storage - href: /azure/vs-azure-tools-storage-explorer-files?toc=/visualstudio/azure/toc.json&bc=/visualstudio/azure/breadcrumb/toc.json + href: /azure/vs-azure-tools-storage-explorer-files - name: Microsoft Azure Storage Explorer release notes - href: /azure/vs-azure-tools-storage-explorer-relnotes?toc=/visualstudio/azure/toc.json&bc=/visualstudio/azure/breadcrumb/toc.json + href: /azure/vs-azure-tools-storage-explorer-relnotes - name: Storage Explorer accessibility - href: /azure/vs-azure-tools-storage-explorer-accessibility?toc=/visualstudio/azure/toc.json&bc=/visualstudio/azure/breadcrumb/toc.json + href: /azure/vs-azure-tools-storage-explorer-accessibility - name: Cloud Explorer items: - name: Browse and manage storage resources by using Server Explorer @@ -146,3 +151,11 @@ href: vs-active-directory-webapi-what-happened.md - name: Diagnose errors during authentication href: vs-active-directory-error.md +- name: How to + items: + - name: Get publish profile from Azure App Service + href: how-to-get-publish-profile-from-azure-app-service.md + - name: Sign in with your Azure subscription + href: how-to-sign-in-with-azure-subscription.md + - name: Deploy an ASP.NET Core app with Entity Framework to Azure with GitHub Actions + href: end-to-end-deployment-entity-framework-core-github-actions.md diff --git a/docs/containers/container-build.md b/docs/containers/container-build.md index 43071477dcd..ad7e9ab1bcb 100644 --- a/docs/containers/container-build.md +++ b/docs/containers/container-build.md @@ -112,10 +112,19 @@ Here are the volumes that are mounted in your container: | **Remote debugger** | Contains the bits required to run the debugger in the container depending on the project type. This is explained in more detail in the [Debugging](#debugging) section.| | **App folder** | Contains the project folder where the Dockerfile is located.| | **Source folder** | Contains the build context that is passed to Docker commands.| -| **NuGet packages folders** | Contains the NuGet packages and fallback folders that is read from the *obj\{project}.csproj.nuget.g.props* file in the project. | +| **NuGet packages folders** | Contains the NuGet packages and fallback folders that are read from the *obj\{project}.csproj.nuget.g.props* file in the project. | For ASP.NET core web apps, there might be two additional folders for the SSL certificate and the user secrets, which is explained in more detail in the next section. +## Enable detailed container tools logs + +For diagnostic purposes, you can enable certain Container Tools logs. These logs are enabled by certain environment variables. For single container projects, the environment variable is `MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED`, which then logs in `%tmp%\Microsoft.VisualStudio.Containers.Tools`. For Docker Compose projects, it is `MS_VS_DOCKER_TOOLS_LOGGING_ENABLED`, which then logs in `%tmp%\Microsoft.VisualStudio.DockerCompose.Tools`. + +:::moniker range=">=vs-2022" +> [!CAUTION] +> When logging is enabled and you're using a token proxy for Azure authentication, authentication credentials could be logged as plain text. See [Configure Azure authentication](container-tools-configure.md#configure-azure-authentication). +:::moniker-end + ## Debugging When building in **Debug** configuration, there are several optimizations that Visual Studio does that help with the performance of the build process for containerized projects. The build process for containerized apps is not as straightforward as simply following the steps outlined in the Dockerfile. Building in a container is much slower than building on the local machine. So, when you build in the **Debug** configuration, Visual Studio actually builds your projects on the local machine, and then shares the output folder to the container using volume mounting. A build with this optimization enabled is called a *Fast* mode build. diff --git a/docs/containers/container-tools-configure.md b/docs/containers/container-tools-configure.md index 97fd5b6ba7f..8fd0643df5a 100644 --- a/docs/containers/container-tools-configure.md +++ b/docs/containers/container-tools-configure.md @@ -4,7 +4,7 @@ description: Configure the tools available in Visual Studio for working with Doc author: ghogen ms.author: ghogen ms.topic: how-to -ms.date: 09/17/2021 +ms.date: 07/13/2023 ms.technology: vs-container-tools --- # How to configure Visual Studio Container Tools @@ -23,7 +23,12 @@ Container Tools **General** settings: Container Tools **Single Project** and **Docker Compose** settings: +:::moniker range="<=vs-2019" ![Visual Studio Container Tools options, showing: Kill containers on project close, Pull required Docker images on project open, and Run containers on project open.](./media/configure-container-tools/tools-options-2.png) +:::moniker-end +:::moniker range=">=vs-2022" +![Visual Studio Container Tools options, showing: Kill containers on project close, Pull required Docker images on project open, Run containers on project open, Run a service in containers to enable Azure Authentication, and Run a service in containers to enable Hot Reload.](./media/configure-container-tools/vs-2022/tools-options-2.png) +:::moniker-end The following table might help you decide how to set these options. @@ -36,12 +41,24 @@ The following table describes **General** settings: The following table describes **Single Project** and **Docker Compose** settings: +:::moniker range="<=vs-2019" | Name | Default Setting | Applies To | Description | | -----|:---------------:|:----------:| ----------- | | Pull required Docker images on project open | True | Single Project, Docker Compose | For increased performance when loading projects, Visual Studio will start a Docker pull operation in the background so that when you're ready to run your code, the image is already downloaded or in the process of downloading. If you're just loading projects and browsing code, you can set to **False** to avoid downloading container images you don't need. | | Pull updated Docker images on project open | .NET Core projects | Single Project, Docker Compose | When you open a project, check for updates to images and download if available. | | Run containers on project open | True | Single Project, Docker Compose | Again for increased performance, Visual Studio creates a container ahead of time so that it's ready for when you build and run your container. If you want to control when your container is created, set to **False**. | | Remove containers on project close | True | Single Project, Docker Compose | Set to **False** if you would like containers for your solution to be retained after closing the solution or closing Visual Studio. | +:::moniker-end +:::moniker range=">=vs-2022" +| Name | Default Setting | Applies To | Description | +| -----|:---------------:|:----------:| ----------- | +| Pull required Docker images on project open | True | Single Project, Docker Compose | For increased performance when loading projects, Visual Studio will start a Docker pull operation in the background so that when you're ready to run your code, the image is already downloaded or in the process of downloading. If you're just loading projects and browsing code, you can set to **False** to avoid downloading container images you don't need. | +| Pull updated Docker images on project open | .NET Core projects | Single Project, Docker Compose | When you open a project, check for updates to images and download if available. | +| Run containers on project open | True | Single Project, Docker Compose | Again for increased performance, Visual Studio creates a container ahead of time so that it's ready for when you build and run your container. If you want to control when your container is created, set to **False**. | +| Remove containers on project close | True | Single Project, Docker Compose | Set to **False** if you would like containers for your solution to be retained after closing the solution or closing Visual Studio. | +| Run a service in containers to enable Azure Authentication | True | Single Project, Docker Compose | Visual Studio version 17.6 or later runs a [token proxy](#configure-azure-authentication) service in the container that assists with Azure Authentication, so your apps can use Azure services during development. Set to `False` if you don't want this service to be installed and run.| +| Run a service in containers to enable Hot Reload | True | Single Project, Docker Compose | Set to `False` if you don't want this service to be installed and run. The Hot Reload service is available in Visual Studio 2022 version 17.7 and later and only supports running without debugging (**Ctrl**+**F5**). | +:::moniker-end The **Containers Tool Window** settings control the settings that apply to the **Containers** tool window, which shows information about Docker containers and images. See [Use the Containers window](view-and-diagnose-containers.md) @@ -60,6 +77,21 @@ The following table describes the **Containers** window settings: > [!WARNING] > If the localhost SSL certificate is not trusted, and you check the box to suppress prompting, then HTTPS web requests might fail at run time in your app or service. In that case, uncheck the **Do not prompt** checkbox, run your project, and indicate trust at the prompt. +:::moniker range=">=vs-2022" + +## Configure Azure authentication + +If your app uses Azure services, it needs the appropriate authentication credentials when it runs in a container in order to authenticate with Azure services. During development, you can usually use your own Azure credentials instead of the credentials the app uses in production, but those credentials are required in the container environment to be useful for the running containerized app. + +Starting with Visual Studio 2022 version 17.6, in both single-container and Docker Compose projects, a [token](https://www.nuget.org/packages/Azure.Identity#readme-body-tab) proxy service is deployed and run in your containers that helps your apps and services authenticate in Azure. The feature requires [Azure Identity 1.9.0](https://www.nuget.org/packages/Azure.Identity/1.9.0#readme-body-tab) or later. With this service enabled, you can automatically use most Azure services without any additional configuration or setup within the container. Specifically, your code can use `DefaultAzureCredential` and `VisualStudioCredential` to authenticate with Azure services in the same way as outside of a container. See the [Azure Identity 1.9.0 README](https://www.nuget.org/packages/Azure.Identity/1.9.0#readme-body-tab). + +To disable this feature, set the **Tools** > **Options** setting **Run a service in containers to enable Azure Authentication** (described earlier in this article) to `False`. + +> [!CAUTION] +> There is a potential security concern if you use the token proxy and have enabled certain Container Tools diagnostic logs. When logging is enabled, authentication credentials could be logged as plain text. These logs are enabled by certain environment variables. For single container projects, the environment variable is `MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED`, which then logs in `%tmp%\Microsoft.VisualStudio.Containers.Tools`. For Docker Compose projects, it is `MS_VS_DOCKER_TOOLS_LOGGING_ENABLED`, which then logs in `%tmp%\Microsoft.VisualStudio.DockerCompose.Tools`. + +:::moniker-end + ## Next steps Read more about working with containers in Visual Studio in this [overview](overview.md). \ No newline at end of file diff --git a/docs/containers/media/configure-container-tools/vs-2022/tools-options-2.png b/docs/containers/media/configure-container-tools/vs-2022/tools-options-2.png new file mode 100644 index 00000000000..2c0bc5a6279 Binary files /dev/null and b/docs/containers/media/configure-container-tools/vs-2022/tools-options-2.png differ diff --git a/docs/deployment/index.yml b/docs/deployment/index.yml index 71782653af3..b81b65cd270 100644 --- a/docs/deployment/index.yml +++ b/docs/deployment/index.yml @@ -89,3 +89,25 @@ landingContent: url: ../containers/index.yml - text: Publish NuGet packages url: /nuget + + # Card + - title: Deploy to Azure + linkLists: + - linkListType: tutorial + links: + - text: ASP.NET Core app to App Service >> + url: /azure/app-service/quickstart-dotnetcore?tabs=net70&pivots=development-environment-vs&toc=/visualstudio/azure/toc.json&bc=/visualstudio/azure/breadcrumb/toc.json#publish-your-web-app + - text: ASP.NET to App Service (.NET Framework) >> + url: /azure/app-service/app-service-web-get-started-dotnet?toc=/visualstudio/azure/toc.json&bc=/visualstudio/azure/breadcrumb/toc.json + - text: ASP.NET web app to Azure Web Apps >> + url: /aspnet/core/tutorials/publish-to-azure-webapp-using-vs?toc=/visualstudio/azure/toc.json&bc=/visualstudio/azure/breadcrumb/toc.json + - text: ASP.NET Core web app to Azure Container Apps >> + url: /azure/container-apps/deploy-visual-studio?toc=/visualstudio/azure/toc.json&bc=/visualstudio/azure/breadcrumb/toc.json + - text: Azure Logic Apps >> + url: /azure/logic-apps/quickstart-create-logic-apps-with-visual-studio?toc=/visualstudio/azure/toc.json&bc=/visualstudio/azure/breadcrumb/toc.json + - text: Azure Functions >> + url: /azure/azure-functions/functions-create-your-first-function-visual-studio?toc=/visualstudio/azure/toc.json&bc=/visualstudio/azure/breadcrumb/toc.json + - text: Deploy with GitHub Actions + url: ../azure/azure-deployment-using-github-actions.md + - text: Deploy Entity Framework Core app with GitHub Actions >> + url: ../azure/end-to-end-deployment-entity-framework-core-github-actions.md \ No newline at end of file diff --git a/docs/deployment/toc.yml b/docs/deployment/toc.yml index 8097a9196d7..19f6d3a9980 100644 --- a/docs/deployment/toc.yml +++ b/docs/deployment/toc.yml @@ -6,312 +6,305 @@ href: deploying-applications-services-and-components.md - name: Overview of Publish href: publish-overview.md -- name: Quickstarts +- name: Deploy .NET web apps items: - name: Deploy ASP.NET web app href: quickstart-deploy-aspnet-web-app.md -- name: Tutorials - items: - - name: .NET - items: - - name: ASP.NET - items: - - name: Publish an ASP.NET Core app to Azure >> - href: /azure/app-service/quickstart-dotnetcore?tabs=net60&pivots=development-environment-vs#publish-your-web-app - - name: Deploy an ASP.NET Core app with Entity Framework to Azure using GitHub Actions - href: /visualstudio/deployment/end-to-end-deployment-entity-framework-core-github-actions - - name: Get publish settings from IIS - href: tutorial-import-publish-settings-iis.md - - name: Get publish settings from Azure - href: tutorial-import-publish-settings-azure.md - - name: Continuous deployment of ASP.NET Core to Azure with Git >> - href: /azure/app-service/deploy-continuous-deployment - - name: Desktop - items: - - name: Deploy a .NET Windows application using ClickOnce - href: quickstart-deploy-using-clickonce-folder.md - - name: Deploy a .NET Framework desktop app using ClickOnce - href: how-to-publish-a-clickonce-application-using-the-publish-wizard.md - - name: Create an installer package (Windows desktop) - href: deploying-applications-services-and-components.md#create-an-installer-package-windows-desktop - - name: Package a desktop app for Microsoft Store >> - href: /windows/msix/desktop/desktop-to-uwp-packaging-dot-net - - name: Build .NET Windows ClickOnce applications from the command line - href: building-dotnet-clickonce-applications-from-the-command-line.md - - name: Build .NET Framework ClickOnce applications from the Command Line - href: building-clickonce-applications-from-the-command-line.md - - name: C++ - items: - - name: Create an installer package - href: deploying-applications-services-and-components.md#create-an-installer-package-windows-desktop - - name: Package a desktop app for Microsoft Store >> - href: /windows/msix/package/packaging-uwp-apps - - name: Deploy a C++/CLR app using ClickOnce >> - href: /cpp/windows/clickonce-deployment-for-visual-cpp-applications - - name: Node.js - items: - - name: Publish to Linux App Service >> - href: ../javascript/publish-nodejs-app-azure.md - - name: Python -- name: How-to guides + - name: Deploy to a folder, IIS, or Azure + href: deploying-applications-services-and-components-resources.md + - name: Publish an ASP.NET Core app to Azure >> + href: /azure/app-service/quickstart-dotnetcore?tabs=net60&pivots=development-environment-vs#publish-your-web-app + - name: Deploy an ASP.NET Core app with Entity Framework to Azure using GitHub Actions + href: ../azure/end-to-end-deployment-entity-framework-core-github-actions.md + - name: Get publish settings from IIS + href: tutorial-import-publish-settings-iis.md + - name: Get publish settings from Azure + href: tutorial-import-publish-settings-azure.md + - name: Continuous deployment of ASP.NET Core to Azure with Git >> + href: /azure/app-service/deploy-continuous-deployment +- name: Deploy .NET desktop apps items: - - name: GitHub Actions CI/CD Publish - items: - - name: Deploy to Azure using GitHub Actions - href: azure-deployment-using-github-actions.md - - name: ClickOnce - items: - - name: Overview of ClickOnce security and deployment - href: clickonce-security-and-deployment.md - - name: ClickOnce for .NET - items: - - name: ClickOnce for .NET on Windows - href: clickonce-deployment-dotnet.md - - name: Access ClickOnce deployment properties for .NET - href: access-clickonce-deployment-properties-dotnet.md - - name: Choose a ClickOnce deployment strategy - href: choosing-a-clickonce-deployment-strategy.md - - name: ClickOnce cache overview - href: clickonce-cache-overview.md - - name: ClickOnce and application settings - href: clickonce-and-application-settings.md - - name: ClickOnce deployment on Windows Vista - href: clickonce-deployment-on-windows-vista.md - - name: Localization + - name: ClickOnce + expanded: true items: - - name: Localize ClickOnce applications - href: localizing-clickonce-applications.md - - name: Publish a Project that has a specific locale - href: how-to-publish-a-project-that-has-a-specific-locale.md - - name: Security - items: - - name: Secure ClickOnce applications - href: securing-clickonce-applications.md - - name: ClickOnce and Authenticode - href: clickonce-and-authenticode.md - - name: Trusted application deployment overview - href: trusted-application-deployment-overview.md - - name: Code access security for ClickOnce applications - href: code-access-security-for-clickonce-applications.md - - name: Enable ClickOnce security settings - href: how-to-enable-clickonce-security-settings.md - - name: Set a security zone for a ClickOnce application - href: how-to-set-a-security-zone-for-a-clickonce-application.md - - name: Set custom permissions for a ClickOnce application - href: how-to-set-custom-permissions-for-a-clickonce-application.md - - name: Add a trusted publisher to a client computer - href: how-to-add-a-trusted-publisher-to-a-client-computer-for-clickonce-applications.md - - name: Re-sign application and deployment manifests - href: how-to-re-sign-application-and-deployment-manifests.md - - name: Configure the ClickOnce trust prompt behavior - href: how-to-configure-the-clickonce-trust-prompt-behavior.md - - name: Sign setup files with SignTool.exe (ClickOnce) - href: how-to-sign-setup-files-with-signtool-exe-clickonce.md - - name: Publish - items: - - name: Publish ClickOnce applications - href: publishing-clickonce-applications.md - - name: Publish a ClickOnce application using the Publish Wizard - href: how-to-publish-a-clickonce-application-using-the-publish-wizard.md - - name: Create ClickOnce applications for others to deploy - href: creating-clickonce-applications-for-others-to-deploy.md - - name: Deploy apps for test and production servers without resigning - href: deploying-clickonce-applications-for-testing-and-production-without-resigning.md - - name: Access local and remote data in ClickOnce applications - href: accessing-local-and-remote-data-in-clickonce-applications.md - - name: Deploy COM components with ClickOnce - href: deploying-com-components-with-clickonce.md - - name: Build ClickOnce applications from the command line - href: building-clickonce-applications-from-the-command-line.md - - name: Specify where Visual Studio copies the files - href: how-to-specify-where-visual-studio-copies-the-files.md - - name: Specify the location where end users will install from - href: how-to-specify-the-location-where-end-users-will-install-from.md - - name: Specify the ClickOnce offline or online install mode - href: how-to-specify-the-clickonce-offline-or-online-install-mode.md - - name: Set the ClickOnce publish version - href: how-to-set-the-clickonce-publish-version.md - - name: Automatically increment the ClickOnce publish version - href: how-to-automatically-increment-the-clickonce-publish-version.md - - name: Specify files + - name: Overview of ClickOnce security and deployment + href: clickonce-security-and-deployment.md + - name: Tutorials + expanded: true + items: + - name: Deploy a .NET Windows application using ClickOnce + href: quickstart-deploy-using-clickonce-folder.md + - name: Deploy a .NET Framework desktop app using ClickOnce + href: how-to-publish-a-clickonce-application-using-the-publish-wizard.md + - name: Build .NET Windows ClickOnce applications from the command line + href: building-dotnet-clickonce-applications-from-the-command-line.md + - name: Build .NET Framework ClickOnce applications from the Command Line + href: building-clickonce-applications-from-the-command-line.md + - name: ClickOnce for .NET items: - - name: Specify which files are published by ClickOnce - href: how-to-specify-which-files-are-published-by-clickonce.md - - name: Include a data file in a ClickOnce application - href: how-to-include-a-data-file-in-a-clickonce-application.md - - name: Install prerequisites with a ClickOnce application - href: how-to-install-prerequisites-with-a-clickonce-application.md - - name: Include prerequisites with a ClickOnce application - href: how-to-include-prerequisites-with-a-clickonce-application.md - - name: Manage updates for a ClickOnce application - href: how-to-manage-updates-for-a-clickonce-application.md - - name: Change the publish language for a ClickOnce application - href: how-to-change-the-publish-language-for-a-clickonce-application.md - - name: Specify a Start Menu name for a ClickOnce application - href: how-to-specify-a-start-menu-name-for-a-clickonce-application.md - - name: Specify Technical Support + - name: ClickOnce for .NET on Windows + href: clickonce-deployment-dotnet.md + - name: Access ClickOnce deployment properties for .NET + href: access-clickonce-deployment-properties-dotnet.md + - name: Choose a ClickOnce deployment strategy + href: choosing-a-clickonce-deployment-strategy.md + - name: ClickOnce cache overview + href: clickonce-cache-overview.md + - name: ClickOnce and application settings + href: clickonce-and-application-settings.md + - name: ClickOnce deployment on Windows Vista + href: clickonce-deployment-on-windows-vista.md + - name: Localization items: - - name: Specify a link for Technical Support - href: how-to-specify-a-link-for-technical-support.md - - name: Specify a support URL for individual prerequisites - href: how-to-specify-a-support-url-for-individual-prerequisites-in-a-clickonce-deployment.md - - name: Publish Page + - name: Localize ClickOnce applications + href: localizing-clickonce-applications.md + - name: Publish a Project that has a specific locale + href: how-to-publish-a-project-that-has-a-specific-locale.md + - name: Security items: - - name: Specify a publish page for a ClickOnce application - href: how-to-specify-a-publish-page-for-a-clickonce-application.md - - name: Customize the default web page for a ClickOnce application - href: how-to-customize-the-default-web-page-for-a-clickonce-application.md - - name: Enable AutoStart for CD Installations - href: how-to-enable-autostart-for-cd-installations.md - - name: Create file associations For a ClickOnce application - href: how-to-create-file-associations-for-a-clickonce-application.md - - name: Retrieve query string information in an online ClickOnce application - href: how-to-retrieve-query-string-information-in-an-online-clickonce-application.md - - name: Disable URL activation + - name: Secure ClickOnce applications + href: securing-clickonce-applications.md + - name: ClickOnce and Authenticode + href: clickonce-and-authenticode.md + - name: Trusted application deployment overview + href: trusted-application-deployment-overview.md + - name: Code access security for ClickOnce applications + href: code-access-security-for-clickonce-applications.md + - name: Enable ClickOnce security settings + href: how-to-enable-clickonce-security-settings.md + - name: Set a security zone for a ClickOnce application + href: how-to-set-a-security-zone-for-a-clickonce-application.md + - name: Set custom permissions for a ClickOnce application + href: how-to-set-custom-permissions-for-a-clickonce-application.md + - name: Add a trusted publisher to a client computer + href: how-to-add-a-trusted-publisher-to-a-client-computer-for-clickonce-applications.md + - name: Re-sign application and deployment manifests + href: how-to-re-sign-application-and-deployment-manifests.md + - name: Configure the ClickOnce trust prompt behavior + href: how-to-configure-the-clickonce-trust-prompt-behavior.md + - name: Sign setup files with SignTool.exe (ClickOnce) + href: how-to-sign-setup-files-with-signtool-exe-clickonce.md + - name: Publish items: - - name: Disable URL activation of ClickOnce applications by using the Designer - href: how-to-disable-url-activation-of-clickonce-applications-by-using-the-designer.md - - name: Disable URL activation of ClickOnce applications - href: how-to-disable-url-activation-of-clickonce-applications.md - - name: Deploy apps that can run on multiple versions of the .NET Framework - href: how-to-use-clickonce-to-deploy-applications-that-can-run-on-multiple-versions-of-the-dotnet-framework.md - - name: Publish a WPF application with visual styles enabled - href: how-to-publish-a-wpf-application-with-visual-styles-enabled.md - - name: Download Assemblies on Demand + - name: Publish ClickOnce applications + href: publishing-clickonce-applications.md + - name: Publish a ClickOnce application using the Publish Wizard + href: how-to-publish-a-clickonce-application-using-the-publish-wizard.md + - name: Create ClickOnce applications for others to deploy + href: creating-clickonce-applications-for-others-to-deploy.md + - name: Deploy apps for test and production servers without resigning + href: deploying-clickonce-applications-for-testing-and-production-without-resigning.md + - name: Access local and remote data in ClickOnce applications + href: accessing-local-and-remote-data-in-clickonce-applications.md + - name: Deploy COM components with ClickOnce + href: deploying-com-components-with-clickonce.md + - name: Build ClickOnce applications from the command line + href: building-clickonce-applications-from-the-command-line.md + - name: Specify where Visual Studio copies the files + href: how-to-specify-where-visual-studio-copies-the-files.md + - name: Specify the location where end users will install from + href: how-to-specify-the-location-where-end-users-will-install-from.md + - name: Specify the ClickOnce offline or online install mode + href: how-to-specify-the-clickonce-offline-or-online-install-mode.md + - name: Set the ClickOnce publish version + href: how-to-set-the-clickonce-publish-version.md + - name: Automatically increment the ClickOnce publish version + href: how-to-automatically-increment-the-clickonce-publish-version.md + - name: Specify files + items: + - name: Specify which files are published by ClickOnce + href: how-to-specify-which-files-are-published-by-clickonce.md + - name: Include a data file in a ClickOnce application + href: how-to-include-a-data-file-in-a-clickonce-application.md + - name: Install prerequisites with a ClickOnce application + href: how-to-install-prerequisites-with-a-clickonce-application.md + - name: Include prerequisites with a ClickOnce application + href: how-to-include-prerequisites-with-a-clickonce-application.md + - name: Manage updates for a ClickOnce application + href: how-to-manage-updates-for-a-clickonce-application.md + - name: Change the publish language for a ClickOnce application + href: how-to-change-the-publish-language-for-a-clickonce-application.md + - name: Specify a Start Menu name for a ClickOnce application + href: how-to-specify-a-start-menu-name-for-a-clickonce-application.md + - name: Specify Technical Support + items: + - name: Specify a link for Technical Support + href: how-to-specify-a-link-for-technical-support.md + - name: Specify a support URL for individual prerequisites + href: how-to-specify-a-support-url-for-individual-prerequisites-in-a-clickonce-deployment.md + - name: Publish Page + items: + - name: Specify a publish page for a ClickOnce application + href: how-to-specify-a-publish-page-for-a-clickonce-application.md + - name: Customize the default web page for a ClickOnce application + href: how-to-customize-the-default-web-page-for-a-clickonce-application.md + - name: Enable AutoStart for CD Installations + href: how-to-enable-autostart-for-cd-installations.md + - name: Create file associations For a ClickOnce application + href: how-to-create-file-associations-for-a-clickonce-application.md + - name: Retrieve query string information in an online ClickOnce application + href: how-to-retrieve-query-string-information-in-an-online-clickonce-application.md + - name: Disable URL activation + items: + - name: Disable URL activation of ClickOnce applications by using the Designer + href: how-to-disable-url-activation-of-clickonce-applications-by-using-the-designer.md + - name: Disable URL activation of ClickOnce applications + href: how-to-disable-url-activation-of-clickonce-applications.md + - name: Deploy apps that can run on multiple versions of the .NET Framework + href: how-to-use-clickonce-to-deploy-applications-that-can-run-on-multiple-versions-of-the-dotnet-framework.md + - name: Publish a WPF application with visual styles enabled + href: how-to-publish-a-wpf-application-with-visual-styles-enabled.md + - name: Download Assemblies on Demand + items: + - name: 'Walkthrough: Download assemblies on demand using the Designer' + href: walkthrough-downloading-assemblies-on-demand-with-the-clickonce-deployment-api-using-the-designer.md + - name: 'Walkthrough: Download assemblies on demand' + href: walkthrough-downloading-assemblies-on-demand-with-the-clickonce-deployment-api.md + - name: 'Walkthrough: Download satellite assemblies on demand using the Designer' + href: walkthrough-downloading-satellite-assemblies-on-demand-with-the-clickonce-deployment-api-using-the-designer.md + - name: Manual Deployment + items: + - name: 'Walkthrough: Manually deploy a ClickOnce application' + href: walkthrough-manually-deploying-a-clickonce-application.md + - name: 'Walkthrough: Manually deploy an app that does not require re-signing' + href: walkthrough-manually-deploying-a-clickonce-app-no-re-signing-required.md + - name: 'Walkthrough: Download satellite assemblies on demand' + href: walkthrough-downloading-satellite-assemblies-on-demand-with-the-clickonce-deployment-api.md + - name: 'Walkthrough: Create a custom installer' + href: walkthrough-creating-a-custom-installer-for-a-clickonce-application.md + - name: Update Strategy items: - - name: 'Walkthrough: Download assemblies on demand using the Designer' - href: walkthrough-downloading-assemblies-on-demand-with-the-clickonce-deployment-api-using-the-designer.md - - name: 'Walkthrough: Download assemblies on demand' - href: walkthrough-downloading-assemblies-on-demand-with-the-clickonce-deployment-api.md - - name: 'Walkthrough: Download satellite assemblies on demand using the Designer' - href: walkthrough-downloading-satellite-assemblies-on-demand-with-the-clickonce-deployment-api-using-the-designer.md - - name: Manual Deployment + - name: Choose a ClickOnce update strategy + href: choosing-a-clickonce-update-strategy.md + - name: How ClickOnce performs application updates + href: how-clickonce-performs-application-updates.md + - name: Check for application updates programmatically + href: how-to-check-for-application-updates-programmatically-using-the-clickonce-deployment-api.md + - name: Specify an alternate location for deployment updates + href: how-to-specify-an-alternate-location-for-deployment-updates.md + - name: ClickOnce deployment samples and walkthroughs + href: clickonce-deployment-samples-and-walkthroughs.md + - name: Troubleshooting items: - - name: 'Walkthrough: Manually deploy a ClickOnce application' - href: walkthrough-manually-deploying-a-clickonce-application.md - - name: 'Walkthrough: Manually deploy an app that does not require re-signing' - href: walkthrough-manually-deploying-a-clickonce-app-no-re-signing-required.md - - name: 'Walkthrough: Download satellite assemblies on demand' - href: walkthrough-downloading-satellite-assemblies-on-demand-with-the-clickonce-deployment-api.md - - name: 'Walkthrough: Create a custom installer' - href: walkthrough-creating-a-custom-installer-for-a-clickonce-application.md - - name: Update Strategy + - name: Troubleshoot ClickOnce deployments + href: troubleshooting-clickonce-deployments.md + - name: Set a custom log file location for ClickOnce deployment errors + href: how-to-set-a-custom-log-file-location-for-clickonce-deployment-errors.md + - name: Specify verbose log files for ClickOnce deployments + href: how-to-specify-verbose-log-files-for-clickonce-deployments.md + - name: Server and client configuration issues in ClickOnce deployments + href: server-and-client-configuration-issues-in-clickonce-deployments.md + - name: Security, versioning, and manifest issues in ClickOnce deployments + href: security-versioning-and-manifest-issues-in-clickonce-deployments.md + - name: Troubleshoot specific errors in ClickOnce deployments + href: /troubleshoot/developer/visualstudio/ide/troubleshoot-clickonce-deployments?toc=%2Fvisualstudio%2Fdeployment%2Ftoc.json + - name: Debug ClickOnce applications that use System.Deployment.application + href: debugging-clickonce-applications-that-use-system-deployment-application.md + - name: ClickOnce Reference + items: + - name: Overview of ClickOnce Reference + href: clickonce-reference.md + - name: ClickOnce application Manifest + items: + - name: Overview of ClickOnce application Manifest + href: clickonce-application-manifest.md + - name: Element (ClickOnce application) + href: assembly-element-clickonce-application.md + - name: Element (ClickOnce application) + href: assemblyidentity-element-clickonce-application.md + - name: Element (ClickOnce application) + href: trustinfo-element-clickonce-application.md + - name: Element (ClickOnce application) + href: entrypoint-element-clickonce-application.md + - name: Element (ClickOnce application) + href: dependency-element-clickonce-application.md + - name: Element (ClickOnce application) + href: file-element-clickonce-application.md + - name: Element (ClickOnce application) + href: fileassociation-element-clickonce-application.md + - name: ClickOnce Deployment Manifest + items: + - name: Overview of ClickOnce Deployment Manifest + href: clickonce-deployment-manifest.md + - name: Element (ClickOnce Deployment) + href: assembly-element-clickonce-deployment.md + - name: Element (ClickOnce Deployment) + href: assemblyidentity-element-clickonce-deployment.md + - name: Element (ClickOnce Deployment) + href: description-element-clickonce-deployment.md + - name: Element (ClickOnce Deployment) + href: deployment-element-clickonce-deployment.md + - name: Element (ClickOnce Deployment) + href: compatibleframeworks-element-clickonce-deployment.md + - name: Element (ClickOnce Deployment) + href: dependency-element-clickonce-deployment.md + - name: Element (ClickOnce Deployment) + href: publisheridentity-element-clickonce-deployment.md + - name: Element (ClickOnce Deployment) + href: signature-element-clickonce-deployment.md + - name: Element (ClickOnce Deployment) + href: customerrorreporting-element-clickonce-deployment.md + - name: ClickOnce Unmanaged API Reference + href: clickonce-unmanaged-api-reference.md + - name: Visual Studio Installer projects items: - - name: Choose a ClickOnce update strategy - href: choosing-a-clickonce-update-strategy.md - - name: How ClickOnce performs application updates - href: how-clickonce-performs-application-updates.md - - name: Check for application updates programmatically - href: how-to-check-for-application-updates-programmatically-using-the-clickonce-deployment-api.md - - name: Specify an alternate location for deployment updates - href: how-to-specify-an-alternate-location-for-deployment-updates.md - - name: ClickOnce deployment samples and walkthroughs - href: clickonce-deployment-samples-and-walkthroughs.md - - name: Troubleshooting + - name: Visual Studio Installer Projects Extension and .NET 6.0 + href: installer-projects-net-core.md + - name: Create an installer package (Windows desktop) + href: deploying-applications-services-and-components.md#create-an-installer-package-windows-desktop + - name: Custom bootstrapper items: - - name: Troubleshoot ClickOnce deployments - href: troubleshooting-clickonce-deployments.md - - name: Set a custom log file location for ClickOnce deployment errors - href: how-to-set-a-custom-log-file-location-for-clickonce-deployment-errors.md - - name: Specify verbose log files for ClickOnce deployments - href: how-to-specify-verbose-log-files-for-clickonce-deployments.md - - name: Server and client configuration issues in ClickOnce deployments - href: server-and-client-configuration-issues-in-clickonce-deployments.md - - name: Security, versioning, and manifest issues in ClickOnce deployments - href: security-versioning-and-manifest-issues-in-clickonce-deployments.md - - name: Troubleshoot specific errors in ClickOnce deployments - href: /troubleshoot/developer/visualstudio/ide/troubleshoot-clickonce-deployments?toc=%2Fvisualstudio%2Fdeployment%2Ftoc.json - - name: Debug ClickOnce applications that use System.Deployment.application - href: debugging-clickonce-applications-that-use-system-deployment-application.md - - name: Visual Studio Installer projects - items: - - name: Visual Studio Installer Projects Extension and .NET 6.0 - href: installer-projects-net-core.md - - name: Custom bootstrapper - items: - - name: Application deployment prerequisites - href: application-deployment-prerequisites.md - - name: Deploy prerequisites for 64-bit applications - href: deploying-prerequisites-for-64-bit-applications.md - - name: Create bootstrapper packages - href: creating-bootstrapper-packages.md - - name: Create a product manifest - href: how-to-create-a-product-manifest.md - - name: Create a package manifest - href: how-to-create-a-package-manifest.md - - name: Create a localized bootstrapper package - href: how-to-create-a-localized-bootstrapper-package.md - - name: 'Walkthrough: Create a custom bootstrapper with a privacy prompt' - href: walkthrough-creating-a-custom-bootstrapper-to-show-a-privacy-prompt.md - - name: Product and Package Schema Reference + - name: Application deployment prerequisites + href: application-deployment-prerequisites.md + - name: Deploy prerequisites for 64-bit applications + href: deploying-prerequisites-for-64-bit-applications.md + - name: Create bootstrapper packages + href: creating-bootstrapper-packages.md + - name: Create a product manifest + href: how-to-create-a-product-manifest.md + - name: Create a package manifest + href: how-to-create-a-package-manifest.md + - name: Create a localized bootstrapper package + href: how-to-create-a-localized-bootstrapper-package.md + - name: 'Walkthrough: Create a custom bootstrapper with a privacy prompt' + href: walkthrough-creating-a-custom-bootstrapper-to-show-a-privacy-prompt.md + - name: Product and Package Schema Reference + items: + - name: Overview of Product and Package Schema Reference + href: product-and-package-schema-reference.md + - name: Element (Bootstrapper) + href: product-element-bootstrapper.md + - name: Element (Bootstrapper) + href: package-element-bootstrapper.md + - name: Element (Bootstrapper) + href: relatedproducts-element-bootstrapper.md + - name: Element (Bootstrapper) + href: installchecks-element-bootstrapper.md + - name: Element (Bootstrapper) + href: commands-element-bootstrapper.md + - name: Element (Bootstrapper) + href: packagefiles-element-bootstrapper.md + - name: Element (Bootstrapper) + href: strings-element-bootstrapper.md + - name: Element (Bootstrapper) + href: schedules-element-bootstrapper.md + - name: Microsoft Store items: - - name: Overview of Product and Package Schema Reference - href: product-and-package-schema-reference.md - - name: Element (Bootstrapper) - href: product-element-bootstrapper.md - - name: Element (Bootstrapper) - href: package-element-bootstrapper.md - - name: Element (Bootstrapper) - href: relatedproducts-element-bootstrapper.md - - name: Element (Bootstrapper) - href: installchecks-element-bootstrapper.md - - name: Element (Bootstrapper) - href: commands-element-bootstrapper.md - - name: Element (Bootstrapper) - href: packagefiles-element-bootstrapper.md - - name: Element (Bootstrapper) - href: strings-element-bootstrapper.md - - name: Element (Bootstrapper) - href: schedules-element-bootstrapper.md + - name: Package a desktop app for Microsoft Store >> + href: /windows/msix/desktop/desktop-to-uwp-packaging-dot-net +- name: Deploy C++ apps + items: + - name: Create an installer package + href: deploying-applications-services-and-components.md#create-an-installer-package-windows-desktop + - name: Package a desktop app for Microsoft Store >> + href: /windows/msix/package/packaging-uwp-apps + - name: Deploy a C++/CLR app using ClickOnce >> + href: /cpp/windows/clickonce-deployment-for-visual-cpp-applications +- name: Deploy Node.js apps + items: + - name: Publish to Linux App Service >> + href: ../javascript/publish-nodejs-app-azure.md - name: Reference items: - - name: Deploy to a folder, IIS, or Azure - href: deploying-applications-services-and-components-resources.md - - name: ClickOnce Reference - items: - - name: Overview of ClickOnce Reference - href: clickonce-reference.md - - name: ClickOnce application Manifest - items: - - name: Overview of ClickOnce application Manifest - href: clickonce-application-manifest.md - - name: Element (ClickOnce application) - href: assembly-element-clickonce-application.md - - name: Element (ClickOnce application) - href: assemblyidentity-element-clickonce-application.md - - name: Element (ClickOnce application) - href: trustinfo-element-clickonce-application.md - - name: Element (ClickOnce application) - href: entrypoint-element-clickonce-application.md - - name: Element (ClickOnce application) - href: dependency-element-clickonce-application.md - - name: Element (ClickOnce application) - href: file-element-clickonce-application.md - - name: Element (ClickOnce application) - href: fileassociation-element-clickonce-application.md - - name: ClickOnce Deployment Manifest - items: - - name: Overview of ClickOnce Deployment Manifest - href: clickonce-deployment-manifest.md - - name: Element (ClickOnce Deployment) - href: assembly-element-clickonce-deployment.md - - name: Element (ClickOnce Deployment) - href: assemblyidentity-element-clickonce-deployment.md - - name: Element (ClickOnce Deployment) - href: description-element-clickonce-deployment.md - - name: Element (ClickOnce Deployment) - href: deployment-element-clickonce-deployment.md - - name: Element (ClickOnce Deployment) - href: compatibleframeworks-element-clickonce-deployment.md - - name: Element (ClickOnce Deployment) - href: dependency-element-clickonce-deployment.md - - name: Element (ClickOnce Deployment) - href: publisheridentity-element-clickonce-deployment.md - - name: Element (ClickOnce Deployment) - href: signature-element-clickonce-deployment.md - - name: Element (ClickOnce Deployment) - href: customerrorreporting-element-clickonce-deployment.md - - name: ClickOnce Unmanaged API Reference - href: clickonce-unmanaged-api-reference.md - name: Error - Project type not found href: error-project-type-not-found.md diff --git a/docs/install/using-visual-studio-vm.md b/docs/install/using-visual-studio-vm.md index d517da64534..4e090d3c27e 100644 --- a/docs/install/using-visual-studio-vm.md +++ b/docs/install/using-visual-studio-vm.md @@ -32,7 +32,9 @@ Images for the most recent major versions, Visual Studio 2022, Visual Studio 201 | Release version | Editions | Product version | |----------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------|-----------------------| | [Visual Studio 2022](https://azuremarketplace.microsoft.com/marketplace/apps/microsoftvisualstudio.visualstudio2022?tab=Overview) | Enterprise, Community | Version 17.2 | +| [Visual Studio 2022 (Microsoft Dev Box compatible)](https://azuremarketplace.microsoft.com/marketplace/apps/microsoftvisualstudio.visualstudioplustools?exp=ubp8&tab=Overview) | Enterprise, Professional | Version 17.5 | | [Visual Studio 2019: Latest (Version 16.11)](https://azuremarketplace.microsoft.com/marketplace/apps/microsoftvisualstudio.visualstudio2019latest?tab=Overview) | Enterprise, Community | Version 16.11 | +| [Visual Studio 2019 (Microsoft Dev Box compatible)](https://azuremarketplace.microsoft.com/marketplace/apps/microsoftvisualstudio.visualstudio2019plustools?exp=ubp8&tab=Overview) | Enterprise, Professional | Version 16.11 | | [Visual Studio 2017: Latest (Version 15.9)](https://azuremarketplace.microsoft.com/marketplace/apps/microsoftvisualstudio.visualstudio?tab=Overview) | Enterprise, Community | Version 15.9 | | [Visual Studio 2015: Latest (Update 3)](https://azuremarketplace.microsoft.com/marketplace/apps/microsoftvisualstudio.visualstudio?tab=Overview) | Enterprise, Community | Version 14.0.25431.01 | diff --git a/subscriptions/admin-inventory.md b/subscriptions/admin-inventory.md deleted file mode 100644 index eadc1745efb..00000000000 --- a/subscriptions/admin-inventory.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Preproduction inventory in Visual Studio subscription | Visual Studio Marketplace -author: evanwindom -ms.author: amast -manager: shve -ms.assetid: 7d74e113-8fb2-490e-8502-48cce7b1327a -ms.date: 03/17/2023 -ms.topic: conceptual -description: Learn about admins' responsibility to conduct preproduction inventories ---- - -# Inventory of preproduction environment - -Visual Studio subscriptions simplify asset management by counting users rather than devices. - -Visual Studio admins must assign Visual Studio Subscriptions to **specific, named individuals**. Names that don't identify individual subscribers such as Dev1, Dev2, or the use of team names such as "FeatureTeam" are **not allowed**. - -Here are some ways to simplify taking inventory of your preproduction environment: -+ Review your user assignments. Microsoft provides a website called the [Visual Studio Administration Portal](https://manage.visualstudio.com/) to help you manage and track Visual Studio subscription assignments. -+ Use your on-premises or cloud-based Active Directory to list users. If you use Active Directory to manage user access, you may be able to identify development and test users by their directory membership. -+ Use automated tools to inventory systems. You may also need to use a software inventory tool to help manage your software assets and distinguish preproduction environments from production ones. Many customers with Microsoft System Center create naming conventions to help automate this part of the inventory process. -+ Get help with manual reconciliation. Enlist your staff to help reconcile your dev/test users with your development and test environment. - -> [!NOTE] -> Visual Studio subscriptions software is not licensed for production environments, including any environment accessed by end users for more than acceptance testing or feedback, an environment connecting to a production database, supporting disaster recovery or production backup, or used for production during peak periods of activity. Exceptions to this include specific benefits for certain subscription levels, outlined in the [Visual Studio Licensing White Paper](https://aka.ms/vslicensing). - -## Resources - -+ [Visual Studio licensing white paper](https://visualstudio.microsoft.com/wp-content/uploads/2019/06/Visual-Studio-Licensing-Whitepaper-May-2019.pdf) -+ [Visual Studio subscriptions support](https://aka.ms/vsadminhelp) -+ [Volume Licensing terms](https://www.microsoft.com/licensing/product-licensing/products.aspx) - -## See also - -+ [Visual Studio documentation](/visualstudio/) -+ [Azure DevOps Services documentation](/azure/devops/) -+ [Azure documentation](/azure/) -+ [Microsoft 365 documentation](/microsoft-365/) - -## Next steps - -Learn more about responsibilities for admins: -+ [Admin responsibilities](admin-responsibilities.md) -+ [Manage large teams and external contractors](manage-teams.md) -+ [Track user assignments and process orders](assignments-orders.md) -+ Use [Maximum Usage](maximum-usage.md) to track purchase commitments \ No newline at end of file diff --git a/subscriptions/admin-responsibilities.md b/subscriptions/admin-responsibilities.md index 1e7b8da253c..fe4036527fc 100644 --- a/subscriptions/admin-responsibilities.md +++ b/subscriptions/admin-responsibilities.md @@ -4,7 +4,7 @@ author: evanwindom ms.author: amast manager: shve ms.assetid: b26b31dc-1eeb-4871-9ce6-2c980e703f1e -ms.date: 07/07/2022 +ms.date: 07/26/2023 ms.topic: conceptual description: Learn about responsibilities of subscriptions admins. --- @@ -16,22 +16,40 @@ As an admin, you can manage subscriptions for your organization. The admin role A Visual Studio subscriptions admin has four key responsibilities: -1. **Understand the benefits and restrictions of Visual Studio subscriptions.** Correctly understanding your benefits can enable you to reduce hardware costs by using cloud services, and reduce software costs with per-user licenses for pre-production environments. +1. **Understand the benefits and restrictions of Visual Studio subscriptions.** Correctly understanding your benefits can enable you to reduce hardware costs by using cloud services, and reduce software costs with per-user licenses for preproduction environments. 2. **Assign Visual Studio subscriptions to specific, named individuals and encourage usage.** Your contract requires that Visual Studio subscriptions be assigned to specific, named individuals. Follow up with your subscribers to ensure they access and take full advantage of the benefits included in their Visual Studio subscription. -3. **Accurately inventory your pre-production environment.** This is essential to ensure all users who interact with Visual Studio-licensed software are appropriately licensed with their own Visual Studio subscription. -4. **Track user assignment changes and acquire additional licenses on schedule.** Microsoft Volume Licensing (VL) Agreements and MPSA give you flexibility in how you use and assign Visual Studio subscriptions. In return, you're expected to track changes to software usage and user assignments and process orders for additional licenses on the schedule outlined in the agreement. To help with this responsibility, there is a [Maximum Usage report](maximum-usage.md) you can run in the Visual Studio Subscription Administration Portal. +3. **Accurately inventory your pre-production environment.** This inventory is essential to ensure all users who interact with Visual Studio-licensed software are appropriately licensed with their own Visual Studio subscription. +4. **Track user assignment changes and acquire additional licenses on schedule.** Microsoft Volume Licensing (VL) Agreements and MPSA give you flexibility in how you use and assign Visual Studio subscriptions. In return, you're expected to: ++ Manage changes to software usage ++ Manage changes to user assignments ++ Process orders for more licenses on the schedule outlined in the agreement. To help with this responsibility, there's a [Maximum Usage report](maximum-usage.md) you can run in the Visual Studio Subscription Administration Portal. + +### Inventory of preproduction environment + +Visual Studio subscriptions simplify asset management by counting users rather than devices. + +Visual Studio admins must assign Visual Studio Subscriptions to **specific, named individuals**. Names that don't identify individual subscribers such as Dev1, Dev2, or the use of team names such as "FeatureTeam" are **not allowed**. + +Here are some ways to simplify taking inventory of your preproduction environment: ++ Review your user assignments. Microsoft provides a website called the [Visual Studio Administration Portal](https://manage.visualstudio.com/) to help you manage and track Visual Studio subscription assignments. ++ Use your on-premises or cloud-based Active Directory to list users. If you use Active Directory to manage user access, you may be able to identify development and test users by their directory membership. ++ Use automated tools to inventory systems. You may also need to use a software inventory tool to help manage your software assets and distinguish preproduction environments from production ones. Many customers with Microsoft System Center create naming conventions to help automate this part of the inventory process. ++ Get help with manual reconciliation. Enlist your staff to help reconcile your dev/test users with your development and test environment. + +> [!NOTE] +> Visual Studio subscriptions software is not licensed for production environments, including any environment accessed by end users for more than acceptance testing or feedback, an environment connecting to a production database, supporting disaster recovery or production backup, or used for production during peak periods of activity. Exceptions to this include specific benefits for certain subscription levels, outlined in the [Visual Studio Licensing White Paper](https://aka.ms/vslicensing). ## Benefits and limitations -Visual Studio subscriptions allow developers to install and use software to design, develop, test, evaluate, and demonstrate other software. Visual Studio Subscriptions software is not licensed for production environments. +Visual Studio subscriptions allow developers to install and use software to design, develop, test, evaluate, and demonstrate other software. Visual Studio Subscriptions software isn't licensed for production environments. | Category | Benefit or limitation | |-----------|--------------------- | -| User-based licensing | MSDN Platforms and all levels of Visual Studio subscriptions are licensed on a per-user basis. Each development team member that will interact (install, configure, or access) with the software included with these products and services requires their own Visual Studio subscription. | -| Unlimited installations | Each licensed user may install and use the software on any number of devices to design, develop, test, evaluate, and demonstrate software. The exception is Microsoft Office, which is licensed for one desktop. Visual Studio-licensed software can be installed and used at work, home, school, and on devices at a customer’s office or on dedicated hardware hosted by a third party. | -| Not intended for production environments | Visual Studio subscriptions software is not licensed for production environments, including any environment accessed by end users for more than acceptance testing or feedback, an environment connecting to a production database, supporting disaster recovery or production backup, or used for production during peak periods of activity. Exceptions to this include specific benefits for certain subscription levels, outlined in the [Visual Studio Licensing White Paper](https://aka.ms/vslicensing). | -| License reassignment | When a user leaves a team and no longer requires a license, you may reassign the license to another user if at least 90 days have passed since it was assigned to the previous user. When you reassign a license, any product keys that were already used will still be available but will not be replaced. For organizations that have Enterprise Agreements (EA), any benefits that were used by the original user, such as Pluralsight training, will be reset. | -| Exception for end users | At the end of a software development project, end users typically review an application and determine whether it meets the necessary criteria for release. This process is called user acceptance testing (UAT). Team members such as a business sponsor or a product manager can act as proxies for end users. End users who do not have a Visual Studio subscription may access the software for UAT if use of the software otherwise complies with all Visual Studio licensing terms. It's rare that someone whose primary role is designing, developing, or testing the software would also qualify as an “end user”. | +| User-based licensing | MSDN Platforms and all levels of Visual Studio subscriptions are licensed on a per-user basis. Each development team member that interacts (install, configure, or access) with the software included with these products and services requires their own Visual Studio subscription. | +| Unlimited installations | Each licensed user may install and use the software on any number of devices to design, develop, test, evaluate, and demonstrate software. The exception is Microsoft Office, which is licensed for one desktop. Visual Studio-licensed software can be used at work, home, school, and on devices at a customer’s office or on dedicated hardware hosted by a third party. | +| Not intended for production environments | Visual Studio subscriptions software isn't licensed for production environments. This limitation includes: Any environment accessed by end users for more than acceptance testing or feedback, any environment connecting to a production database, supporting disaster recovery or production backup, use for production during peak periods of activity. Exceptions to this include specific benefits for certain subscription levels, outlined in the [Visual Studio Licensing White Paper](https://aka.ms/vslicensing). | +| License reassignment | When a user no longer requires a license, you may reassign the license to another user if at least 90 days have passed since it was assigned to the previous user. When you reassign a license, any product keys that were already used are available but won't be replaced. For organizations that have Enterprise Agreements (EA), any benefits that were used by the original user, such as Pluralsight training, are reset. | +| Exception for end users | At the end of a software development project, end users typically review an application and determine whether it meets the necessary criteria for release. This process is called user acceptance testing (UAT). Team members such as a business sponsor or a product manager can act as proxies for end users. End users who don't have a Visual Studio subscription may access the software for UAT if use of the software otherwise complies with all Visual Studio licensing terms. It's rare that someone whose primary role is designing, developing, or testing the software would also qualify as an “end user”. | ## Resources @@ -47,7 +65,7 @@ Visual Studio subscriptions allow developers to install and use software to desi ## Next steps Learn more about responsibilities for admins: -+ [Inventory of pre-production environment](admin-inventory.md) ++ [Inventory of preproduction environment](admin-inventory.md) + [Manage large teams and external contractors](manage-teams.md) + [Track user assignments and process orders](assignments-orders.md) + Use [Maximum Usage](maximum-usage.md) to track purchase commitments diff --git a/subscriptions/anonymization.md b/subscriptions/anonymization.md deleted file mode 100644 index d4854c4b3b2..00000000000 --- a/subscriptions/anonymization.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: Anonymization of Visual Studio subscriber data | Microsoft Docs -author: evanwindom -ms.author: amast -manager: shve -ms.assetid: ce5fc8a4-484c-4df6-97c3-cb60174fb66b -ms.date: 07/07/2022 -ms.topic: conceptual -description: Learn how subscriber data is anonymized when access to subscriptions is lost. ---- - -# Anonymization of Visual Studio subscriber information - -When an event occurs that blocks a subscriber's use of a subscription, the user's personal information such as name and sign-in account is scrambled to render it unusable. This "anonymization" is done to safeguard the subscriber's personal information. These events can include: -+ Expiration of the subscription -+ Deletion of the subscribers sign-in account - -[!INCLUDE [GDPR-related guidance](includes/gdpr-intro-sentence.md)] - -## When does anonymization occur? - -Events that make a subscription unusable to a subscriber will trigger anonymization. How quickly the anonymization occurs depends on the type of subscription and the triggering event. See the table below for more information. - -| Subscription Type | Event triggering anonymization | When anonymization occurs | -|--------------------|--------------------------------|---------------------------| -| Visual Studio Dev Essentials | Subscriber opts out of the program or doesn't accept the terms of use | 30 days | -| Visual Studio subscriptions purchased through the Microsoft Store (retail) | Subscription expires or isn't activated | 360 days | -| Visual Studio subscriptions acquired through Volume License, Visual Studio Marketplace (cloud subscriptions), or programs such as MPN | Subscription expires or isn't assigned to a user | 180 days | -| All subscriptions | An Azure Active Directory account or Microsoft Account (MSA) used to sign into the subscription is closed | Immediately | -| All subscriptions | A subscriber is removed from the tenant that is associated with the Azure Active Directory account | Immediately | - -## FAQ - -### Q: Does the anonymization of the subscriber's personal information cause them to lose access to the subscription? - -A: No. Anonymization occurs after access to the subscription has already occurred. - -### Q: I'm an admin for my organization's subscriptions. If one of my subscriber's information is anonymized, can I reassign that subscription to another user? - -A: Yes. A subscription can be reassigned if these criteria are met: -+ The subscription hasn't expired. -+ A minimum of 90 days have passed since the subscription was last assigned to a subscriber. For example, if a subscription was assigned to a subscriber on June 1, it can't be reassigned until at least August 30. - -### Q: How can I prevent anonymization caused by deleting a sign-in email address? - -A: There are two ways to prevent the issue: -+ Deploy a single identity management system--either MSA or Azure Active Directory--but not both. -+ Associate the Azure Active Directory and MSA identities via the tenant. - -## Support resources - -For assistance with sales, subscriptions, accounts, and billing for Visual Studio Subscriptions, see Visual Studio [Subscriptions support](https://aka.ms/vssubscriberhelp). - -## See also - -+ [Visual Studio documentation](/visualstudio/) -+ [Azure DevOps documentation](/azure/devops/) -+ [Azure documentation](/azure/) -+ [Microsoft 365 documentation](/microsoft-365/) - -## Next steps - -Learn how to prevent anonymization by [associating MSA and Azure Active Directory identities](/azure/active-directory/b2b/add-users-administrator). \ No newline at end of file diff --git a/subscriptions/subscription-removed.md b/subscriptions/subscription-removed.md index 670564ad12c..9bcc4918c92 100644 --- a/subscriptions/subscription-removed.md +++ b/subscriptions/subscription-removed.md @@ -4,7 +4,7 @@ author: evanwindom ms.author: amast manager: shve ms.assetid: 34eaceda-f5db-41d6-bc23-ecf55fe1768e -ms.date: 07/25/2023 +ms.date: 07/26/2023 ms.topic: troubleshooting ms.custom: kr2b-contr-experiment description: Learn what happens when your admin removes your Visual Studio subscription. This information includes how your benefits change and support resources. @@ -70,6 +70,26 @@ If you're a subscriptions admin, you might occasionally see in your dashboard th If the subscription is removed, the subscriber loses access to the subscription. If a subscriber is removed from an Azure AD group, their subscription information is permanently removed within 180 days. If a subscriber closes their MSA, their information is removed immediately. +### Anonymization of Visual Studio subscriber information + +When an event occurs that blocks a subscriber's use of a subscription, the user's personal information such as name and sign-in account is scrambled to render it unusable. This "anonymization" is done to safeguard the subscriber's personal information. These events can include: ++ Expiration of the subscription ++ Deletion of the subscribers sign-in account + +[!INCLUDE [GDPR-related guidance](includes/gdpr-intro-sentence.md)] + +### When does anonymization occur? + +Events that make a subscription unusable to a subscriber triggers anonymization. How quickly the anonymization occurs depends on the type of subscription and the triggering event. + +| Subscription Type | Event triggering anonymization | When anonymization occurs | +|--------------------|--------------------------------|---------------------------| +| Visual Studio Dev Essentials | Subscriber opts out of the program or doesn't accept the terms of use | 30 days | +| Visual Studio subscriptions purchased through the Microsoft Store (retail) | Subscription expires or isn't activated | 360 days | +| Visual Studio subscriptions acquired through Volume License, Visual Studio Marketplace (cloud subscriptions), or programs such as MPN | Subscription expires or isn't assigned to a user | 180 days | +| All subscriptions | An Azure Active Directory account or Microsoft Account (MSA) used to sign into the subscription is closed | Immediately | +| All subscriptions | A subscriber is removed from the tenant that is associated with the Azure Active Directory account | Immediately | + ## Support resources + For assistance with sales, subscriptions, accounts and billing for Visual Studio Subscriptions, contact [Visual Studio subscriptions support](https://my.visualstudio.com/gethelp). diff --git a/subscriptions/toc.yml b/subscriptions/toc.yml index e436c557612..167208544ba 100644 --- a/subscriptions/toc.yml +++ b/subscriptions/toc.yml @@ -38,8 +38,6 @@ href: use-connected-identities.md - name: Sign in problems href: sign-in-issues.md - - name: Anonymizations of subscriber data - href: anonymization.md - name: Subscriptions portal overview href: using-the-subscriber-portal.md - name: Manage your subscriptions @@ -132,8 +130,6 @@ items: - name: Administrator responsibilities href: admin-responsibilities.md - - name: Pre-production inventory - href: admin-inventory.md - name: Manage large teams and external contractors href: manage-teams.md - name: Track user assignments and process orders