Console app CMSApplication.Init() seemingly can't read CMSConnectionString
Hi,
I'm trying to access to Kentico API from a console app but am getting the exception Cannot access the database specified by the 'CMSConnectionString' connection string. Please install the database externally and set a correct connection string.
Running the following I can see that connection string is read and the SqlConnection opens successfully, which rules out an invalid connection string or malformed json file.
Is there any other setup required so that the Kentico API can read the json?
using CMS.DataEngine;
using Microsoft.Data.SqlClient;
using Microsoft.Extensions.Configuration;
var configuration = new ConfigurationBuilder()
.SetBasePath(AppContext.BaseDirectory)
.AddJsonFile("appsettings.json").Build();
var connectionString = configuration.GetConnectionString("CMSConnectionString");
await using (var connection = new SqlConnection(connectionString))
{
connection.Open();
Console.WriteLine("Database connection successful."); // success
}
CMSApplication.Init(); // exception
The license file is places into the same directory. I can't see anything missing from https://docs.kentico.com/developers-and-admins/api/use-the-xperience-by-kentico-api-externally
Thanks
Environment
- Xperience by Kentico version: [29.1.3]
- .NET version: [8]
- Deployment environment: local
Answers
To answer this question, you have to login first.