Setting up a .NET development environment

This tutorial shows how to prepare your local machine for developing .NET and .NET core apps that run on Google Cloud and call Google Cloud APIs.

Install a development environment

The recommended development environment for running the .NET tutorials and sample apps in this documentation is Visual Studio 2017 or Visual Studio Code.

Create a Google Cloud project

Create a Google Cloud project to run your apps. Google Cloud projects form the basis for creating, enabling, and using all Google Cloud services.

Authentication

During local development, your .NET app must authenticate itself in order to interact with Google Cloud APIs. The following instructions describe how to create a service account key to authenticate your app. Apps can use this method to authenticate locally and when deployed to Google Cloud. Read more about authentication, including how authentication is handled once your app is deployed.

Create a service account key for authentication

Console GCP

  1. Dans la console GCP, accédez à la page Créer une clé de compte de service.

    Accéder à la page "Créer une clé de compte de service"
  2. Dans la liste Compte de service, sélectionnez Nouveau compte de service.
  3. Dans le champ Nom du compte de service, saisissez un nom.
  4. Dans la liste Rôle, sélectionnez Projet > Propriétaire.

    Remarque : Le champ Rôle autorise votre compte de service à accéder aux ressources. Vous pouvez afficher et modifier ce champ ultérieurement à l'aide de la console GCP. Si vous développez une application de production, spécifiez des autorisations plus précises que Projet > Propriétaire. Pour plus d'informations, consultez la page Attribuer des rôles aux comptes de service.
  5. Cliquez sur Créer. Un fichier JSON contenant votre clé est téléchargé sur votre ordinateur.

Ligne de commande

Vous pouvez exécuter les commandes suivantes à l'aide du SDK Cloud sur votre ordinateur local, ou dans Cloud Shell.

  1. Créez le compte de service. Remplacez [NAME] par le nom que vous souhaitez donner au compte de service.

    gcloud iam service-accounts create [NAME]
  2. Accordez des autorisations au compte de service. Remplacez [PROJECT_ID] par votre ID de projet.

    gcloud projects add-iam-policy-binding [PROJECT_ID] --member "serviceAccount:[NAME]@[PROJECT_ID].iam.gserviceaccount.com" --role "roles/owner"
    Remarque : Le champ Rôle autorise votre compte de service à accéder aux ressources. Vous pouvez afficher et modifier le champ ultérieurement à l'aide de la console GCP. Si vous développez une application de production, spécifiez des autorisations plus précises que Projet > Propriétaire. Pour plus d'informations, consultez la page Attribuer des rôles aux comptes de service.
  3. Générez le fichier de clé. Remplacez [FILE_NAME] par le nom du fichier de clé.

    gcloud iam service-accounts keys create [FILE_NAME].json --iam-account [NAME]@[PROJECT_ID].iam.gserviceaccount.com

Next, set the environment variable GOOGLE_APPLICATION_CREDENTIALS to the path of the JSON key that was downloaded. In PowerShell, the commands are:

For this PowerShell session.

PS > $env:GOOGLE_APPLICATION_CREDENTIALS = "$env:USERPROFILE\Downloads\your-project-id-dea9fa230eae3.json"

For all processes created after this command.

PS > [Environment]::SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "$env:USERPROFILE\Downloads\your-project-id-dea9fa230eae3.json", "User")

(Optional) Install .NET tools and SDKs

Even though you can create and manage Google Cloud resources via your web browser using the Google Cloud Console, if you'd prefer to manage your Google Cloud resources from within Visual Studio or from the command-line, you can consider installing the following tools:

  • Cloud SDK: The Cloud SDK is a command-line interface for Google Cloud products and services.

  • Tools for Visual Studio: Tools for Visual Studio enables development in Visual Studio on Google Cloud.

  • Tools for PowerShell: Tools for PowerShell is a set of cmdlets for Windows PowerShell that lets you manage Google Cloud resources.

What's next