在控制台应用程序上使用 VS 2017。当我使用时Dictionary<string, Guid>一切正常,但是,当我使用Dictionary<Guid, Guid>它时它不会映射到 AppSettings 对象(字典计数为 0)。有什么办法可以解决这个问题,而不是在应用程序中使用string并将其转换为?Guid
应用程序设置.json
{
"AppSettings": {
"DictionaryTest": {
"55789653-86A3-485C-95E8-5E23C3219130": "74F87895-4965-447A-B07F-F702573218B7",
"FB1E7891-B3C2-4E83-A6BF-7F321C11BFFA": "FA7892A9-7925-4150-82A7-5DD3213D1242"
}
}
}
Run Code Online (Sandbox Code Playgroud)
在程序.cs中
var appPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase).Replace(@"file:\", "");
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile($@"{appPath}\appsettings.json");
Configuration = builder.Build();
appSettings = new AppSettings();
Configuration.GetSection("AppSettings").Bind(appSettings);
Run Code Online (Sandbox Code Playgroud)
当我使用Dictionary<string, Guid>场景时,变量中有 2 个项目appSettings.DictionaryTest。
但是当我使用Dictionary<Guid, Guid>场景时,变量中有 0 个项目appSettings.DictionaryTest。
Dictionary<string, Guid>设想:
应用程序设置.cs
public class AppSettings
{
public Dictionary<string, Guid> DictionaryTest { get; set; …Run Code Online (Sandbox Code Playgroud)