Question: I am working on a .NET Core application for AWS. After reading [this post](https://stackoverflow.com/a/43243290/1987258), I added a file named `credentials` (without extension) in the folder: `C:\Users\Daan\`. In this text file, the access key and the secret access key are both there.

Unfortunately, the `Credentials` property is not set after running my code. Other properties, such as `Region` and `Profile`, are set correctly based on my `appsettings` file.

What becomes clear is that my program modifies the credentials file by adding this to the credentials file:

```none
toolkit_artifact_guid=[A GUID]

```

Can someone explain to me what this means, and how I fix it? By fixing, I mean that my credentials file is not modified but just read to set the `Credentials` property of my `awsOptions` variable.

It is important to know that I created this file myself (not with the CLI), I double checked that the credentials are correct, and that this is my code. Moreover, I do have .NET experience, but I just started working with AWS.

```
public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    var awsOptions = Configuration.GetAWSOptions();        
    services.AddDefaultAWSOptions(awsOptions);
    services.AddAWSService<Amazon.S3.IAmazonS3>();
}

```

Answer: 
I'm sure you long ago figured out why it wasn't working, but just in case:

Typically, the `credentials` and `config` files are placed in a folder called `.aws` that is in the `C:\Users\YourUser\` folder. So, the full path to the `credentials` file would be `C:\Users\YourUser\.aws\credentials`

*( Note: for Linux users, it's in `~/.aws`, so `~/.aws/credentials` )*

You can't create a folder name that starts with a `.` using Windows Explorer, but you can create it from the command-line. Just open a command prompt, do

```
 CD C:\Users\YourUser
 mkdir .aws 

```

Then you can drag your `credentials` and `config` files in there using Windows Explorer. You can set a default region for each profile in the `config` file (which is just a text file with no extension, same as `credentials`), like this:

```
[default]
region = us-west-2

[staging]
region = us-east-2

```

The `toolkit_artifact_guid` is created by the AWS Toolkit for Visual Studio, I believe, and I think it serves to map each profile to the profile that the toolkit uses as "last used". If you look in the `C:\Users\YourUser\AppData\Local\AWSToolkit` folder, you'll see a `MiscSettings.json` file, which has a `LastAcountSelectedKey` node that probably shows one of the guids from your `credentials` file (assuming you used the AWS Explorer window/pane in Visual Studio for anything).

In the same folder as `MiscSettings.json`, you may see a file called `RegisteredAccounts.json`, which is the *other* place that your AWS credentials (access key and secret key) can be stored. This is where new profiles you create with the AWS Tools for PowerShell are stored (but the keys are encrypted in this file), and I believe if you create a profile in the AWS Explorer in Visual Studio, it stores them here, also. Your .NET apps, when running locally, will check that `RegisteredAccounts.json` file first (not directly, but via an AWS .NET library), then fall back to the plain-text `.aws\credentials` file.
"toolkit\_artifact\_guid" could get populated in the "credentials" file due to 3rd party extensions and updates. 

Most probably could be due to AWS Toolkit for Visual Studio.