стабилизация кода
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
BIN
HomeOnApp/Services/DataProxyApp/.vs/DataProxyApp.slnx/v18/.suo
Normal file
BIN
HomeOnApp/Services/DataProxyApp/.vs/DataProxyApp.slnx/v18/.suo
Normal file
Binary file not shown.
@@ -0,0 +1,208 @@
|
||||
{
|
||||
"Version": 1,
|
||||
"WorkspaceRootPath": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\services\\natsconsumerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\services\\natsconsumerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\services\\influxdbservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\services\\influxdbservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\readme.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\readme.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\models\\temperaturemessage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\models\\temperaturemessage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\configuration\\appsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\configuration\\appsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\services\\natsinfluxservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\services\\natsinfluxservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\models\\temperaturedata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\models\\temperaturedata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\programalice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\programalice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\docker-compose.yml||{06C066C6-04A2-4E5D-8202-439FD4234EF1}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\docker-compose.yml||{06C066C6-04A2-4E5D-8202-439FD4234EF1}"
|
||||
}
|
||||
],
|
||||
"DocumentGroupContainers": [
|
||||
{
|
||||
"Orientation": 0,
|
||||
"VerticalTabListWidth": 256,
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 7,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "Program.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Program.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\Program.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Program.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\Program.cs",
|
||||
"ViewState": "AgIAABIAAAAAAAAAAIAxwCsAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T07:31:08.53Z",
|
||||
"IsPinned": true,
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"Title": "readme.md",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\readme.md",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\readme.md",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\readme.md",
|
||||
"RelativeToolTip": "DataProxyApp\\readme.md",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAEAAAAoAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001818|",
|
||||
"WhenOpened": "2025-12-20T16:31:48.911Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 5,
|
||||
"Title": "appsettings.json",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\appsettings.json",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\appsettings.json",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\appsettings.json",
|
||||
"RelativeToolTip": "DataProxyApp\\appsettings.json",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAiAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
|
||||
"WhenOpened": "2025-12-20T11:03:33.4Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 8,
|
||||
"Title": "TemperatureData.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Models\\TemperatureData.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\Models\\TemperatureData.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Models\\TemperatureData.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\Models\\TemperatureData.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T08:34:21.284Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 7,
|
||||
"Title": "NatsInfluxService.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Services\\NatsInfluxService.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\Services\\NatsInfluxService.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Services\\NatsInfluxService.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\Services\\NatsInfluxService.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAqwA4AAAALAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T08:33:48.456Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 9,
|
||||
"Title": "ProgramAlice.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\ProgramAlice.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\ProgramAlice.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\ProgramAlice.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\ProgramAlice.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAjAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T08:33:29.837Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 10,
|
||||
"Title": "docker-compose.yml",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\docker-compose.yml",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\docker-compose.yml",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\docker-compose.yml",
|
||||
"RelativeToolTip": "DataProxyApp\\docker-compose.yml",
|
||||
"ViewState": "AgIAABAAAAAAAAAAAAAQwC4AAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003775|",
|
||||
"WhenOpened": "2025-12-20T08:31:51.21Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "NatsConsumerService.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Services\\NatsConsumerService.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\Services\\NatsConsumerService.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Services\\NatsConsumerService.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\Services\\NatsConsumerService.cs",
|
||||
"ViewState": "AgIAAD0AAAAAAAAAAAAAAEUAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T07:38:55.68Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"Title": "InfluxDbService.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Services\\InfluxDbService.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\Services\\InfluxDbService.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Services\\InfluxDbService.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\Services\\InfluxDbService.cs",
|
||||
"ViewState": "AgIAABwAAAAAAAAAAAAqwC8AAAAFAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T07:38:14.753Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 6,
|
||||
"Title": "AppSettings.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Configuration\\AppSettings.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\Configuration\\AppSettings.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Configuration\\AppSettings.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\Configuration\\AppSettings.cs",
|
||||
"ViewState": "AgIAAAEAAAAAAAAAAAASwAYAAABCAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T07:37:40.149Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"Title": "TemperatureMessage.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Models\\TemperatureMessage.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\Models\\TemperatureMessage.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Models\\TemperatureMessage.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\Models\\TemperatureMessage.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAqwBAAAAAnAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T07:36:37.198Z",
|
||||
"EditorCaption": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,208 @@
|
||||
{
|
||||
"Version": 1,
|
||||
"WorkspaceRootPath": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\services\\natsconsumerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\services\\natsconsumerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\services\\influxdbservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\services\\influxdbservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\readme.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\readme.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\models\\temperaturemessage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\models\\temperaturemessage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\configuration\\appsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\configuration\\appsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\services\\natsinfluxservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\services\\natsinfluxservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\models\\temperaturedata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\models\\temperaturedata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\programalice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\programalice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|d:\\!!!gitea\\homeon\\homeonapp\\services\\dataproxyapp\\dataproxyapp\\docker-compose.yml||{06C066C6-04A2-4E5D-8202-439FD4234EF1}",
|
||||
"RelativeMoniker": "D:0:0:{4F56D57D-DF46-ACFD-25A6-C3ACF9C4D352}|DataProxyApp\\DataProxyApp.csproj|solutionrelative:dataproxyapp\\docker-compose.yml||{06C066C6-04A2-4E5D-8202-439FD4234EF1}"
|
||||
}
|
||||
],
|
||||
"DocumentGroupContainers": [
|
||||
{
|
||||
"Orientation": 0,
|
||||
"VerticalTabListWidth": 256,
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 7,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "Program.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Program.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\Program.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Program.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\Program.cs",
|
||||
"ViewState": "AgIAABIAAAAAAAAAAIAxwCsAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T07:31:08.53Z",
|
||||
"IsPinned": true,
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"Title": "readme.md",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\readme.md",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\readme.md",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\readme.md",
|
||||
"RelativeToolTip": "DataProxyApp\\readme.md",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAEAAAAoAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001818|",
|
||||
"WhenOpened": "2025-12-20T16:31:48.911Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 5,
|
||||
"Title": "appsettings.json",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\appsettings.json",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\appsettings.json",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\appsettings.json",
|
||||
"RelativeToolTip": "DataProxyApp\\appsettings.json",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAiAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
|
||||
"WhenOpened": "2025-12-20T11:03:33.4Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 8,
|
||||
"Title": "TemperatureData.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Models\\TemperatureData.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\Models\\TemperatureData.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Models\\TemperatureData.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\Models\\TemperatureData.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T08:34:21.284Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 7,
|
||||
"Title": "NatsInfluxService.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Services\\NatsInfluxService.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\Services\\NatsInfluxService.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Services\\NatsInfluxService.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\Services\\NatsInfluxService.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAqwA4AAAALAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T08:33:48.456Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 9,
|
||||
"Title": "ProgramAlice.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\ProgramAlice.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\ProgramAlice.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\ProgramAlice.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\ProgramAlice.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAjAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T08:33:29.837Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 10,
|
||||
"Title": "docker-compose.yml",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\docker-compose.yml",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\docker-compose.yml",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\docker-compose.yml",
|
||||
"RelativeToolTip": "DataProxyApp\\docker-compose.yml",
|
||||
"ViewState": "AgIAABAAAAAAAAAAAAAQwC4AAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003775|",
|
||||
"WhenOpened": "2025-12-20T08:31:51.21Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "NatsConsumerService.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Services\\NatsConsumerService.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\Services\\NatsConsumerService.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Services\\NatsConsumerService.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\Services\\NatsConsumerService.cs",
|
||||
"ViewState": "AgIAACIAAAAAAAAAAAAowDEAAAAqAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T07:38:55.68Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"Title": "InfluxDbService.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Services\\InfluxDbService.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\Services\\InfluxDbService.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Services\\InfluxDbService.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\Services\\InfluxDbService.cs",
|
||||
"ViewState": "AgIAABwAAAAAAAAAAAAqwC8AAAAFAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T07:38:14.753Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 6,
|
||||
"Title": "AppSettings.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Configuration\\AppSettings.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\Configuration\\AppSettings.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Configuration\\AppSettings.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\Configuration\\AppSettings.cs",
|
||||
"ViewState": "AgIAAAEAAAAAAAAAAAASwAYAAABCAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T07:37:40.149Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"Title": "TemperatureMessage.cs",
|
||||
"DocumentMoniker": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Models\\TemperatureMessage.cs",
|
||||
"RelativeDocumentMoniker": "DataProxyApp\\Models\\TemperatureMessage.cs",
|
||||
"ToolTip": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\Models\\TemperatureMessage.cs",
|
||||
"RelativeToolTip": "DataProxyApp\\Models\\TemperatureMessage.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAqwBAAAAAnAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-20T07:36:37.198Z",
|
||||
"EditorCaption": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
3
HomeOnApp/Services/DataProxyApp/DataProxyApp.slnx
Normal file
3
HomeOnApp/Services/DataProxyApp/DataProxyApp.slnx
Normal file
@@ -0,0 +1,3 @@
|
||||
<Solution>
|
||||
<Project Path="DataProxyApp/DataProxyApp.csproj" />
|
||||
</Solution>
|
||||
25
HomeOnApp/Services/DataProxyApp/DataProxyApp/.dockerignore
Normal file
25
HomeOnApp/Services/DataProxyApp/DataProxyApp/.dockerignore
Normal file
@@ -0,0 +1,25 @@
|
||||
**/.classpath
|
||||
**/.dockerignore
|
||||
**/.env
|
||||
**/.git
|
||||
**/.gitignore
|
||||
**/.project
|
||||
**/.settings
|
||||
**/.toolstarget
|
||||
**/.vs
|
||||
**/.vscode
|
||||
**/*.*proj.user
|
||||
**/*.dbmdl
|
||||
**/*.jfm
|
||||
**/bin
|
||||
**/charts
|
||||
**/docker-compose*
|
||||
**/compose*
|
||||
**/Dockerfile*
|
||||
**/node_modules
|
||||
**/npm-debug.log
|
||||
**/obj
|
||||
**/secrets.dev.yaml
|
||||
**/values.dev.yaml
|
||||
LICENSE
|
||||
README.md
|
||||
@@ -0,0 +1,20 @@
|
||||
namespace NatsToInfluxService.Configuration;
|
||||
|
||||
public class NatsSettings
|
||||
{
|
||||
public const string SectionName = "Nats";
|
||||
|
||||
public string Url { get; set; } = "nats://nats.paranet.ru:4222";
|
||||
public string Subject { get; set; } = "temperature.data";
|
||||
public string QueueGroup { get; set; } = "temperature-consumers";
|
||||
}
|
||||
|
||||
public class InfluxDbSettings
|
||||
{
|
||||
public const string SectionName = "InfluxDb";
|
||||
|
||||
public string Url { get; set; } = "http://dbs.lan:8086";
|
||||
public string Token { get; set; } = string.Empty;
|
||||
public string Bucket { get; set; } = "sensors";
|
||||
public string Organization { get; set; } = "HomeOn";
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Remove="ProgramAlice.cs" />
|
||||
<Compile Remove="Services\NatsInfluxService.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="InfluxDB.Client" Version="4.18.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.1" />
|
||||
<PackageReference Include="NATS.Net" Version="2.7.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Diagnostics" Version="10.0.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration" Version="10.0.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="10.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="appsettings.Development.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="appsettings.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
14
HomeOnApp/Services/DataProxyApp/DataProxyApp/Dockerfile
Normal file
14
HomeOnApp/Services/DataProxyApp/DataProxyApp/Dockerfile
Normal file
@@ -0,0 +1,14 @@
|
||||
FROM mcr.microsoft.com/dotnet/runtime:10.0 AS base
|
||||
WORKDIR /app
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
||||
WORKDIR /src
|
||||
COPY ["DataProxyApp.csproj", "."]
|
||||
RUN dotnet restore "DataProxyApp.csproj"
|
||||
COPY . .
|
||||
RUN dotnet publish "DataProxyApp.csproj" -c Release -o /app/publish
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
COPY --from=build /app/publish .
|
||||
ENTRYPOINT ["dotnet", "DataProxyApp.dll"]
|
||||
@@ -0,0 +1,6 @@
|
||||
public class TemperatureData
|
||||
{
|
||||
public string SensorId { get; set; }
|
||||
public double Value { get; set; }
|
||||
public DateTime Timestamp { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace NatsToInfluxService.Models;
|
||||
|
||||
public class TemperatureMessage
|
||||
{
|
||||
[JsonPropertyName("deviceId")]
|
||||
public string DeviceId { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("location")]
|
||||
public string Location { get; set; } = string.Empty;
|
||||
|
||||
[JsonPropertyName("value")]
|
||||
public float Value { get; set; }
|
||||
|
||||
[JsonPropertyName("unit")]
|
||||
public string Unit { get; set; } = "Celsius";
|
||||
|
||||
[JsonPropertyName("timestamp")]
|
||||
public DateTime Timestamp { get; set; }
|
||||
|
||||
[JsonPropertyName("metadata")]
|
||||
public Dictionary<string, string>? Metadata { get; set; }
|
||||
}
|
||||
66
HomeOnApp/Services/DataProxyApp/DataProxyApp/Program.cs
Normal file
66
HomeOnApp/Services/DataProxyApp/DataProxyApp/Program.cs
Normal file
@@ -0,0 +1,66 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using NatsToInfluxService.Configuration;
|
||||
using NatsToInfluxService.Services;
|
||||
|
||||
var builder = Host.CreateApplicationBuilder(args);
|
||||
|
||||
// Конфигурация
|
||||
builder.Configuration
|
||||
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
|
||||
.AddJsonFile($"appsettings.{builder.Environment.EnvironmentName}.json", optional: true)
|
||||
.AddEnvironmentVariables();
|
||||
|
||||
// Настройка логгирования
|
||||
builder.Logging.AddConsole();
|
||||
|
||||
// Регистрация настроек
|
||||
builder.Services.Configure<NatsSettings>(
|
||||
builder.Configuration.GetSection(NatsSettings.SectionName));
|
||||
|
||||
builder.Services.Configure<InfluxDbSettings>(
|
||||
builder.Configuration.GetSection(InfluxDbSettings.SectionName));
|
||||
|
||||
// Регистрация сервисов
|
||||
builder.Services.AddSingleton<IInfluxDbService, InfluxDbService>();
|
||||
builder.Services.AddHostedService<NatsConsumerService>();
|
||||
|
||||
// Health checks
|
||||
//builder.Services.AddHealthChecks()
|
||||
// .AddCheck<InfluxDbHealthCheck>("influxdb");
|
||||
|
||||
var host = builder.Build();
|
||||
|
||||
// Health check endpoint
|
||||
host.Services.GetRequiredService<IHostApplicationLifetime>()
|
||||
.ApplicationStarted.Register(() =>
|
||||
{
|
||||
var logger = host.Services.GetRequiredService<ILogger<Program>>();
|
||||
logger.LogInformation("Application started");
|
||||
});
|
||||
|
||||
await host.RunAsync();
|
||||
|
||||
// Health check класс
|
||||
//public class InfluxDbHealthCheck : Microsoft.Extensions.Diagnostics.HealthChecks.IHealthCheck
|
||||
//{
|
||||
// private readonly IInfluxDbService _influxDbService;
|
||||
|
||||
// public InfluxDbHealthCheck(IInfluxDbService influxDbService)
|
||||
// {
|
||||
// _influxDbService = influxDbService;
|
||||
// }
|
||||
|
||||
// public async Task<HealthCheckResult> CheckHealthAsync(
|
||||
// HealthCheckContext context,
|
||||
// CancellationToken cancellationToken = default)
|
||||
// {
|
||||
// var isHealthy = await _influxDbService.HealthCheckAsync();
|
||||
|
||||
// return isHealthy
|
||||
// ? HealthCheckResult.Healthy("InfluxDB connection is OK")
|
||||
// : HealthCheckResult.Unhealthy("InfluxDB connection failed");
|
||||
// }
|
||||
//}
|
||||
22
HomeOnApp/Services/DataProxyApp/DataProxyApp/ProgramAlice.cs
Normal file
22
HomeOnApp/Services/DataProxyApp/DataProxyApp/ProgramAlice.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
|
||||
var builder = new ConfigurationBuilder()
|
||||
.SetBasePath(Directory.GetCurrentDirectory())
|
||||
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
|
||||
|
||||
var configuration = builder.Build();
|
||||
|
||||
var service = new NatsInfluxService(configuration);
|
||||
service.Start();
|
||||
|
||||
// Ожидание завершения (например, по Ctrl+C)
|
||||
Console.CancelKeyPress += (sender, e) =>
|
||||
{
|
||||
service.Stop();
|
||||
Environment.Exit(0);
|
||||
};
|
||||
|
||||
while (true)
|
||||
{
|
||||
await Task.Delay(1000);
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
using InfluxDB.Client;
|
||||
using InfluxDB.Client.Api.Domain;
|
||||
using InfluxDB.Client.Writes;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
using NatsToInfluxService.Configuration;
|
||||
using NatsToInfluxService.Models;
|
||||
|
||||
namespace NatsToInfluxService.Services;
|
||||
|
||||
public interface IInfluxDbService
|
||||
{
|
||||
Task WriteTemperatureAsync(TemperatureMessage message);
|
||||
Task<bool> HealthCheckAsync();
|
||||
}
|
||||
|
||||
public class InfluxDbService : IInfluxDbService, IAsyncDisposable
|
||||
{
|
||||
private readonly InfluxDBClient _client;
|
||||
private readonly InfluxDbSettings _settings;
|
||||
private readonly WriteApiAsync _writeApi;
|
||||
private readonly ILogger<InfluxDbService> _logger;
|
||||
|
||||
public InfluxDbService(
|
||||
IOptions<InfluxDbSettings> settings,
|
||||
ILogger<InfluxDbService> logger)
|
||||
{
|
||||
_settings = settings.Value;
|
||||
_logger = logger;
|
||||
|
||||
//_client = InfluxDBClientFactory.Create(
|
||||
// _settings.Url,
|
||||
// _settings.Token.ToCharArray(),
|
||||
// _settings.Organization,
|
||||
// _settings.Bucket
|
||||
//);
|
||||
|
||||
var token = "4v0t0MAsS2nRBVPPxXQA4aIqgQpxt1ZmlCCtPUcRlfKqiuW-tFn9-MUhI_StwoeWoWPrwrnnUVg3OzLEUMquXw=="; //Environment.GetEnvironmentVariable("INFLUX_TOKEN")!;
|
||||
const string bucket = "sensors";
|
||||
const string org = "HomeOn";
|
||||
|
||||
_client = new InfluxDBClient("http://dbs.lan:8086", token);
|
||||
|
||||
_writeApi = _client.GetWriteApiAsync();
|
||||
}
|
||||
|
||||
public async Task WriteTemperatureAsync(TemperatureMessage message)
|
||||
{
|
||||
try
|
||||
{
|
||||
var point = PointData
|
||||
.Measurement("temperature")
|
||||
.Tag("device_id", message.DeviceId)
|
||||
//.Tag("location", message.Location)
|
||||
.Tag("unit", message.Unit)
|
||||
.Field("value", message.Value)
|
||||
.Timestamp(message.Timestamp, WritePrecision.Ns);
|
||||
|
||||
// Добавляем метаданные как дополнительные теги
|
||||
if (message.Metadata != null)
|
||||
{
|
||||
foreach (var metadata in message.Metadata)
|
||||
{
|
||||
point = point.Tag(metadata.Key, metadata.Value);
|
||||
}
|
||||
}
|
||||
|
||||
await _writeApi.WritePointAsync(point: point, bucket: "sensors", org: "HomeOn");
|
||||
|
||||
_logger.LogDebug(
|
||||
"Temperature written to InfluxDB: Device={DeviceId}, Value={Value}, Time={Timestamp}",
|
||||
message.DeviceId, message.Value, message.Timestamp);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Error writing temperature to InfluxDB");
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
//public async Task<bool> HealthCheckAsync()
|
||||
//{
|
||||
// try
|
||||
// {
|
||||
// var health = await _client.HealthAsync();
|
||||
// return health.Status == HealthStatus.Pass;
|
||||
// }
|
||||
// catch
|
||||
// {
|
||||
// return false;
|
||||
// }
|
||||
//}
|
||||
|
||||
public async ValueTask DisposeAsync()
|
||||
{
|
||||
//await _writeApi.DisposeAsync();
|
||||
_client.Dispose();
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
public Task<bool> HealthCheckAsync()
|
||||
{
|
||||
return Task.FromResult( true);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,192 @@
|
||||
using InfluxDB.Client.Api.Domain;
|
||||
using InfluxDB.Client.Writes;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
using NATS.Client.Core;
|
||||
using NATS.Net;
|
||||
using NatsToInfluxService.Configuration;
|
||||
using NatsToInfluxService.Models;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace NatsToInfluxService.Services;
|
||||
|
||||
public class NatsConsumerService : BackgroundService
|
||||
{
|
||||
private readonly NatsSettings _natsSettings;
|
||||
private readonly IInfluxDbService _influxDbService;
|
||||
private readonly ILogger<NatsConsumerService> _logger;
|
||||
//private NatsConnection? _natsConnection;
|
||||
private readonly NatsClient natsClient;
|
||||
|
||||
public NatsConsumerService(
|
||||
IOptions<NatsSettings> natsSettings,
|
||||
IInfluxDbService influxDbService,
|
||||
ILogger<NatsConsumerService> logger)
|
||||
{
|
||||
_natsSettings = natsSettings.Value;
|
||||
_influxDbService = influxDbService;
|
||||
_logger = logger;
|
||||
|
||||
var opts = new NatsOpts
|
||||
{
|
||||
Url = _natsSettings.Url,
|
||||
Name = $"TemperatureConsumer-{Guid.NewGuid():N}",
|
||||
ConnectTimeout = TimeSpan.FromSeconds(30),
|
||||
ReconnectWaitMax = TimeSpan.FromSeconds(10)
|
||||
};
|
||||
|
||||
natsClient = new(opts);
|
||||
}
|
||||
|
||||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||
{
|
||||
_logger.LogInformation("Starting NATS consumer service...");
|
||||
|
||||
//_natsConnection = new NatsConnection(opts);
|
||||
|
||||
// Проверка подключения к InfluxDB
|
||||
//var isInfluxHealthy = await _influxDbService.HealthCheckAsync();
|
||||
//if (!isInfluxHealthy)
|
||||
//{
|
||||
// _logger.LogError("Cannot connect to InfluxDB. Service will not start.");
|
||||
// return;
|
||||
//}
|
||||
|
||||
//_logger.LogInformation(
|
||||
// "Subscribing to NATS subject: {Subject} in queue group: {QueueGroup}",
|
||||
// _natsSettings.Subject, _natsSettings.QueueGroup);
|
||||
|
||||
//await _natsConnection.SubscribeAsync(
|
||||
// subject: _natsSettings.Subject,
|
||||
// queueGroup: _natsSettings.QueueGroup,
|
||||
// handler: async (NatsMsg msg) =>
|
||||
// {
|
||||
// await ProcessMessageAsync(msg, stoppingToken);
|
||||
// },
|
||||
// cancellationToken: stoppingToken);
|
||||
|
||||
//natsClient.SubscribeAsync<double>(natsSettings.Subject)
|
||||
try
|
||||
{
|
||||
await foreach (var msg in natsClient.SubscribeAsync<string>("/sensors/meteoout", cancellationToken: stoppingToken))
|
||||
{
|
||||
Console.WriteLine($"New exchange rate. {msg.Subject}: {msg.Data:F2} - press ENTER to exit.");
|
||||
var data = msg.Data;
|
||||
if (!string.IsNullOrEmpty(data))
|
||||
{
|
||||
if (TryParseFloat(data, out float tempValue))
|
||||
{
|
||||
// Отправляем точку данных в InfluxDB
|
||||
//await WritePoint(tempValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"Error consuming messages: {ex.Message}");
|
||||
}
|
||||
|
||||
_logger.LogInformation("NATS consumer service started successfully");
|
||||
|
||||
// Ожидаем отмены
|
||||
await WaitForCancellationAsync(stoppingToken);
|
||||
}
|
||||
|
||||
public static bool TryParseFloat(string input, out float result)
|
||||
{
|
||||
// Сначала пробуем с инвариантной культурой (для точки)
|
||||
if (float.TryParse(input, NumberStyles.Any, CultureInfo.InvariantCulture, out result))
|
||||
return true;
|
||||
|
||||
// Потом пробуем с культурой, где разделитель - запятая
|
||||
if (float.TryParse(input, NumberStyles.Any, CultureInfo.GetCultureInfo("ru-RU"), out result))
|
||||
return true;
|
||||
|
||||
// Можно добавить другие культуры при необходимости
|
||||
return false;
|
||||
}
|
||||
|
||||
private async Task WritePoint(float value)
|
||||
{
|
||||
await _influxDbService.WriteTemperatureAsync(new()
|
||||
{
|
||||
DeviceId = "outdoor",
|
||||
Value = value,
|
||||
Timestamp = DateTime.UtcNow
|
||||
});
|
||||
}
|
||||
|
||||
//private async ValueTask ProcessMessageAsync(NatsMsg message, CancellationToken cancellationToken)
|
||||
//{
|
||||
// try
|
||||
// {
|
||||
// var json = Encoding.UTF8.GetString(message.Data.ToArray());
|
||||
// _logger.LogDebug("Received message: {Message}", json);
|
||||
|
||||
// var temperatureMessage = JsonSerializer.Deserialize<TemperatureMessage>(
|
||||
// json,
|
||||
// new JsonSerializerOptions
|
||||
// {
|
||||
// PropertyNameCaseInsensitive = true
|
||||
// });
|
||||
|
||||
// if (temperatureMessage == null)
|
||||
// {
|
||||
// _logger.LogWarning("Failed to deserialize message: {Message}", json);
|
||||
// return;
|
||||
// }
|
||||
|
||||
// // Если timestamp не указан, используем текущее время
|
||||
// if (temperatureMessage.Timestamp == default)
|
||||
// {
|
||||
// temperatureMessage.Timestamp = DateTime.UtcNow;
|
||||
// }
|
||||
|
||||
// await _influxDbService.WriteTemperatureAsync(temperatureMessage);
|
||||
|
||||
// _logger.LogInformation(
|
||||
// "Successfully processed temperature: Device={DeviceId}, Value={Value}°C",
|
||||
// temperatureMessage.DeviceId, temperatureMessage.Value);
|
||||
// }
|
||||
// catch (JsonException ex)
|
||||
// {
|
||||
// _logger.LogError(ex, "JSON parsing error");
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// _logger.LogError(ex, "Error processing NATS message");
|
||||
// }
|
||||
//}
|
||||
|
||||
private async Task WaitForCancellationAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
try
|
||||
{
|
||||
while (!cancellationToken.IsCancellationRequested)
|
||||
{
|
||||
await Task.Delay(1000, cancellationToken);
|
||||
}
|
||||
}
|
||||
catch (TaskCanceledException)
|
||||
{
|
||||
// Ожидаемое исключение при остановке
|
||||
}
|
||||
}
|
||||
|
||||
//public override async Task StopAsync(CancellationToken cancellationToken)
|
||||
//{
|
||||
// _logger.LogInformation("Stopping NATS consumer service...");
|
||||
|
||||
// if (_natsConnection != null)
|
||||
// {
|
||||
// await _natsConnection.DisposeAsync();
|
||||
// }
|
||||
|
||||
// await base.StopAsync(cancellationToken);
|
||||
// _logger.LogInformation("NATS consumer service stopped");
|
||||
//}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
using InfluxDB.Client;
|
||||
using InfluxDB.Client.Api.Domain;
|
||||
using InfluxDB.Client.Writes;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
|
||||
public class NatsInfluxService
|
||||
{
|
||||
private readonly IConfiguration _configuration;
|
||||
private IConnection _natsConnection;
|
||||
private InfluxDBClient _influxClient;
|
||||
private WriteApi _writeApi;
|
||||
|
||||
public NatsInfluxService(IConfiguration configuration)
|
||||
{
|
||||
_configuration = configuration;
|
||||
}
|
||||
|
||||
public void Start()
|
||||
{
|
||||
// Инициализация NATS
|
||||
var natsOpts = ConnectionFactory.GetDefaultOptions();
|
||||
natsOpts.Url = _configuration["NATS:Url"];
|
||||
_natsConnection = new ConnectionFactory().CreateConnection(natsOpts);
|
||||
|
||||
// Инициализация InfluxDB
|
||||
_influxClient = InfluxDBClientFactory.Create(
|
||||
_configuration["InfluxDB:Url"],
|
||||
_configuration["InfluxDB:Token"].ToCharArray()
|
||||
);
|
||||
_writeApi = _influxClient.GetWriteApi();
|
||||
|
||||
// Подписка на NATS
|
||||
_natsConnection.SubscribeAsync(_configuration["NATS:Subject"], (sender, args) =>
|
||||
{
|
||||
var msg = args.Message;
|
||||
var body = Encoding.UTF8.GetString(msg.Data);
|
||||
|
||||
try
|
||||
{
|
||||
var data = JsonSerializer.Deserialize<TemperatureData>(body);
|
||||
if (data != null)
|
||||
{
|
||||
WriteToInflux(data);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"Ошибка парсинга JSON: {ex.Message}");
|
||||
}
|
||||
});
|
||||
|
||||
Console.WriteLine("Сервис запущен. Ожидание сообщений...");
|
||||
}
|
||||
|
||||
private void WriteToInflux(TemperatureData data)
|
||||
{
|
||||
var point = PointData
|
||||
.Measurement("temperature")
|
||||
.Tag("sensor_id", data.SensorId)
|
||||
.Field("value", data.Value)
|
||||
.Timestamp(data.Timestamp, WritePrecision.Ns);
|
||||
|
||||
_writeApi.WritePoint(_configuration["InfluxDB:Bucket"],
|
||||
_configuration["InfluxDB:Org"],
|
||||
point);
|
||||
|
||||
Console.WriteLine($"Записан: {data.SensorId} = {data.Value}°C");
|
||||
}
|
||||
|
||||
public void Stop()
|
||||
{
|
||||
_writeApi?.Dispose();
|
||||
_influxClient?.Dispose();
|
||||
_natsConnection?.Close();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.Hosting.Lifetime": "Information"
|
||||
}
|
||||
},
|
||||
"NATS": {
|
||||
"Url": "nats://nats.paranet.ru:4222",
|
||||
"Subject": "sensor.temperature"
|
||||
},
|
||||
"InfluxDB": {
|
||||
"Url": "http://influxdb:8086",
|
||||
"Token": "your-influx-token",
|
||||
"Org": "your-org",
|
||||
"Bucket": "temperatures"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net10.0",
|
||||
"framework": {
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "10.0.0"
|
||||
},
|
||||
"configProperties": {
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.Hosting.Lifetime": "Information"
|
||||
}
|
||||
},
|
||||
"NATS": {
|
||||
"Url": "nats://nats.paranet.ru:4222",
|
||||
"Subject": "sensor.temperature"
|
||||
},
|
||||
"InfluxDB": {
|
||||
"Url": "http://influxdb:8086",
|
||||
"Token": "your-influx-token",
|
||||
"Org": "your-org",
|
||||
"Bucket": "temperatures"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
BIN
HomeOnApp/Services/DataProxyApp/DataProxyApp/data-proxy-app.tar
Normal file
BIN
HomeOnApp/Services/DataProxyApp/DataProxyApp/data-proxy-app.tar
Normal file
Binary file not shown.
@@ -0,0 +1,46 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
nats:
|
||||
image: nats:2.10
|
||||
ports:
|
||||
- "4222:4222"
|
||||
command: [
|
||||
"--http_port", "8222",
|
||||
"--tls", "--tls_cert", "/certs/server-cert.pem",
|
||||
"--tls_key", "/certs/server-key.pem"
|
||||
]
|
||||
volumes:
|
||||
- ./certs:/certs
|
||||
|
||||
influxdb:
|
||||
image: influxdb:2.7
|
||||
ports:
|
||||
- "8086:8086"
|
||||
environment:
|
||||
- DOCKER_INFLUXDB_INIT_MODE=setup
|
||||
- DOCKER_INFLUXDB_INIT_USERNAME=admin
|
||||
- DOCKER_INFLUXDB_INIT_PASSWORD=password
|
||||
- DOCKER_INFLUXDB_INIT_ORG=your-org
|
||||
- DOCKER_INFLUXDB_INIT_BUCKET=temperatures
|
||||
- DOCKER_INFLUXDB_INIT_RETENTION=7d
|
||||
- DOCKER_INFLUXDB_INIT_TOKEN=your-influx-token
|
||||
volumes:
|
||||
- influxdb-data:/var/lib/influxdb2
|
||||
|
||||
app:
|
||||
build: .
|
||||
depends_on:
|
||||
- nats
|
||||
- influxdb
|
||||
environment:
|
||||
- NATS__Url=nats://nats:4222
|
||||
- NATS__Subject=sensor.temperature
|
||||
- InfluxDB__Url=http://influxdb:8086
|
||||
- InfluxDB__Token=your-influx-token
|
||||
- InfluxDB__Org=your-org
|
||||
- InfluxDB__Bucket=temperatures
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
influxdb-data:
|
||||
@@ -0,0 +1,373 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\DataProxyApp.csproj": {}
|
||||
},
|
||||
"projects": {
|
||||
"D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\DataProxyApp.csproj": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\DataProxyApp.csproj",
|
||||
"projectName": "DataProxyApp",
|
||||
"projectPath": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\DataProxyApp.csproj",
|
||||
"packagesPath": "C:\\Users\\vpodberezsky\\.nuget\\packages\\",
|
||||
"outputPath": "D:\\!!!gitea\\homeOn\\HomeOnApp\\Services\\DataProxyApp\\DataProxyApp\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\vpodberezsky\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net10.0"
|
||||
],
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net10.0": {
|
||||
"targetAlias": "net10.0",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
},
|
||||
"restoreAuditProperties": {
|
||||
"enableAudit": "true",
|
||||
"auditLevel": "low",
|
||||
"auditMode": "all"
|
||||
},
|
||||
"SdkAnalysisLevel": "10.0.100"
|
||||
},
|
||||
"frameworks": {
|
||||
"net10.0": {
|
||||
"targetAlias": "net10.0",
|
||||
"dependencies": {
|
||||
"InfluxDB.Client": {
|
||||
"target": "Package",
|
||||
"version": "[4.18.0, )"
|
||||
},
|
||||
"Microsoft.Extensions.Configuration": {
|
||||
"target": "Package",
|
||||
"version": "[10.0.1, )"
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.Json": {
|
||||
"target": "Package",
|
||||
"version": "[10.0.1, )"
|
||||
},
|
||||
"Microsoft.Extensions.Diagnostics": {
|
||||
"target": "Package",
|
||||
"version": "[10.0.1, )"
|
||||
},
|
||||
"Microsoft.Extensions.Hosting": {
|
||||
"target": "Package",
|
||||
"version": "[10.0.1, )"
|
||||
},
|
||||
"NATS.Net": {
|
||||
"target": "Package",
|
||||
"version": "[2.7.0, )"
|
||||
}
|
||||
},
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.101/PortableRuntimeIdentifierGraph.json",
|
||||
"packagesToPrune": {
|
||||
"Microsoft.CSharp": "(,4.7.32767]",
|
||||
"Microsoft.VisualBasic": "(,10.4.32767]",
|
||||
"Microsoft.Win32.Primitives": "(,4.3.32767]",
|
||||
"Microsoft.Win32.Registry": "(,5.0.32767]",
|
||||
"runtime.any.System.Collections": "(,4.3.32767]",
|
||||
"runtime.any.System.Diagnostics.Tools": "(,4.3.32767]",
|
||||
"runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]",
|
||||
"runtime.any.System.Globalization": "(,4.3.32767]",
|
||||
"runtime.any.System.Globalization.Calendars": "(,4.3.32767]",
|
||||
"runtime.any.System.IO": "(,4.3.32767]",
|
||||
"runtime.any.System.Reflection": "(,4.3.32767]",
|
||||
"runtime.any.System.Reflection.Extensions": "(,4.3.32767]",
|
||||
"runtime.any.System.Reflection.Primitives": "(,4.3.32767]",
|
||||
"runtime.any.System.Resources.ResourceManager": "(,4.3.32767]",
|
||||
"runtime.any.System.Runtime": "(,4.3.32767]",
|
||||
"runtime.any.System.Runtime.Handles": "(,4.3.32767]",
|
||||
"runtime.any.System.Runtime.InteropServices": "(,4.3.32767]",
|
||||
"runtime.any.System.Text.Encoding": "(,4.3.32767]",
|
||||
"runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]",
|
||||
"runtime.any.System.Threading.Tasks": "(,4.3.32767]",
|
||||
"runtime.any.System.Threading.Timer": "(,4.3.32767]",
|
||||
"runtime.aot.System.Collections": "(,4.3.32767]",
|
||||
"runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]",
|
||||
"runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]",
|
||||
"runtime.aot.System.Globalization": "(,4.3.32767]",
|
||||
"runtime.aot.System.Globalization.Calendars": "(,4.3.32767]",
|
||||
"runtime.aot.System.IO": "(,4.3.32767]",
|
||||
"runtime.aot.System.Reflection": "(,4.3.32767]",
|
||||
"runtime.aot.System.Reflection.Extensions": "(,4.3.32767]",
|
||||
"runtime.aot.System.Reflection.Primitives": "(,4.3.32767]",
|
||||
"runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]",
|
||||
"runtime.aot.System.Runtime": "(,4.3.32767]",
|
||||
"runtime.aot.System.Runtime.Handles": "(,4.3.32767]",
|
||||
"runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]",
|
||||
"runtime.aot.System.Text.Encoding": "(,4.3.32767]",
|
||||
"runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]",
|
||||
"runtime.aot.System.Threading.Tasks": "(,4.3.32767]",
|
||||
"runtime.aot.System.Threading.Timer": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]",
|
||||
"runtime.unix.System.Console": "(,4.3.32767]",
|
||||
"runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]",
|
||||
"runtime.unix.System.IO.FileSystem": "(,4.3.32767]",
|
||||
"runtime.unix.System.Net.Primitives": "(,4.3.32767]",
|
||||
"runtime.unix.System.Net.Sockets": "(,4.3.32767]",
|
||||
"runtime.unix.System.Private.Uri": "(,4.3.32767]",
|
||||
"runtime.unix.System.Runtime.Extensions": "(,4.3.32767]",
|
||||
"runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]",
|
||||
"runtime.win.System.Console": "(,4.3.32767]",
|
||||
"runtime.win.System.Diagnostics.Debug": "(,4.3.32767]",
|
||||
"runtime.win.System.IO.FileSystem": "(,4.3.32767]",
|
||||
"runtime.win.System.Net.Primitives": "(,4.3.32767]",
|
||||
"runtime.win.System.Net.Sockets": "(,4.3.32767]",
|
||||
"runtime.win.System.Runtime.Extensions": "(,4.3.32767]",
|
||||
"runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
|
||||
"runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
|
||||
"runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
|
||||
"runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.win7.System.Private.Uri": "(,4.3.32767]",
|
||||
"runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"System.AppContext": "(,4.3.32767]",
|
||||
"System.Buffers": "(,5.0.32767]",
|
||||
"System.Collections": "(,4.3.32767]",
|
||||
"System.Collections.Concurrent": "(,4.3.32767]",
|
||||
"System.Collections.Immutable": "(,10.0.32767]",
|
||||
"System.Collections.NonGeneric": "(,4.3.32767]",
|
||||
"System.Collections.Specialized": "(,4.3.32767]",
|
||||
"System.ComponentModel": "(,4.3.32767]",
|
||||
"System.ComponentModel.Annotations": "(,4.3.32767]",
|
||||
"System.ComponentModel.EventBasedAsync": "(,4.3.32767]",
|
||||
"System.ComponentModel.Primitives": "(,4.3.32767]",
|
||||
"System.ComponentModel.TypeConverter": "(,4.3.32767]",
|
||||
"System.Console": "(,4.3.32767]",
|
||||
"System.Data.Common": "(,4.3.32767]",
|
||||
"System.Data.DataSetExtensions": "(,4.4.32767]",
|
||||
"System.Diagnostics.Contracts": "(,4.3.32767]",
|
||||
"System.Diagnostics.Debug": "(,4.3.32767]",
|
||||
"System.Diagnostics.DiagnosticSource": "(,10.0.32767]",
|
||||
"System.Diagnostics.FileVersionInfo": "(,4.3.32767]",
|
||||
"System.Diagnostics.Process": "(,4.3.32767]",
|
||||
"System.Diagnostics.StackTrace": "(,4.3.32767]",
|
||||
"System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]",
|
||||
"System.Diagnostics.Tools": "(,4.3.32767]",
|
||||
"System.Diagnostics.TraceSource": "(,4.3.32767]",
|
||||
"System.Diagnostics.Tracing": "(,4.3.32767]",
|
||||
"System.Drawing.Primitives": "(,4.3.32767]",
|
||||
"System.Dynamic.Runtime": "(,4.3.32767]",
|
||||
"System.Formats.Asn1": "(,10.0.32767]",
|
||||
"System.Formats.Tar": "(,10.0.32767]",
|
||||
"System.Globalization": "(,4.3.32767]",
|
||||
"System.Globalization.Calendars": "(,4.3.32767]",
|
||||
"System.Globalization.Extensions": "(,4.3.32767]",
|
||||
"System.IO": "(,4.3.32767]",
|
||||
"System.IO.Compression": "(,4.3.32767]",
|
||||
"System.IO.Compression.ZipFile": "(,4.3.32767]",
|
||||
"System.IO.FileSystem": "(,4.3.32767]",
|
||||
"System.IO.FileSystem.AccessControl": "(,4.4.32767]",
|
||||
"System.IO.FileSystem.DriveInfo": "(,4.3.32767]",
|
||||
"System.IO.FileSystem.Primitives": "(,4.3.32767]",
|
||||
"System.IO.FileSystem.Watcher": "(,4.3.32767]",
|
||||
"System.IO.IsolatedStorage": "(,4.3.32767]",
|
||||
"System.IO.MemoryMappedFiles": "(,4.3.32767]",
|
||||
"System.IO.Pipelines": "(,10.0.32767]",
|
||||
"System.IO.Pipes": "(,4.3.32767]",
|
||||
"System.IO.Pipes.AccessControl": "(,5.0.32767]",
|
||||
"System.IO.UnmanagedMemoryStream": "(,4.3.32767]",
|
||||
"System.Linq": "(,4.3.32767]",
|
||||
"System.Linq.AsyncEnumerable": "(,10.0.32767]",
|
||||
"System.Linq.Expressions": "(,4.3.32767]",
|
||||
"System.Linq.Parallel": "(,4.3.32767]",
|
||||
"System.Linq.Queryable": "(,4.3.32767]",
|
||||
"System.Memory": "(,5.0.32767]",
|
||||
"System.Net.Http": "(,4.3.32767]",
|
||||
"System.Net.Http.Json": "(,10.0.32767]",
|
||||
"System.Net.NameResolution": "(,4.3.32767]",
|
||||
"System.Net.NetworkInformation": "(,4.3.32767]",
|
||||
"System.Net.Ping": "(,4.3.32767]",
|
||||
"System.Net.Primitives": "(,4.3.32767]",
|
||||
"System.Net.Requests": "(,4.3.32767]",
|
||||
"System.Net.Security": "(,4.3.32767]",
|
||||
"System.Net.ServerSentEvents": "(,10.0.32767]",
|
||||
"System.Net.Sockets": "(,4.3.32767]",
|
||||
"System.Net.WebHeaderCollection": "(,4.3.32767]",
|
||||
"System.Net.WebSockets": "(,4.3.32767]",
|
||||
"System.Net.WebSockets.Client": "(,4.3.32767]",
|
||||
"System.Numerics.Vectors": "(,5.0.32767]",
|
||||
"System.ObjectModel": "(,4.3.32767]",
|
||||
"System.Private.DataContractSerialization": "(,4.3.32767]",
|
||||
"System.Private.Uri": "(,4.3.32767]",
|
||||
"System.Reflection": "(,4.3.32767]",
|
||||
"System.Reflection.DispatchProxy": "(,6.0.32767]",
|
||||
"System.Reflection.Emit": "(,4.7.32767]",
|
||||
"System.Reflection.Emit.ILGeneration": "(,4.7.32767]",
|
||||
"System.Reflection.Emit.Lightweight": "(,4.7.32767]",
|
||||
"System.Reflection.Extensions": "(,4.3.32767]",
|
||||
"System.Reflection.Metadata": "(,10.0.32767]",
|
||||
"System.Reflection.Primitives": "(,4.3.32767]",
|
||||
"System.Reflection.TypeExtensions": "(,4.3.32767]",
|
||||
"System.Resources.Reader": "(,4.3.32767]",
|
||||
"System.Resources.ResourceManager": "(,4.3.32767]",
|
||||
"System.Resources.Writer": "(,4.3.32767]",
|
||||
"System.Runtime": "(,4.3.32767]",
|
||||
"System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]",
|
||||
"System.Runtime.CompilerServices.VisualC": "(,4.3.32767]",
|
||||
"System.Runtime.Extensions": "(,4.3.32767]",
|
||||
"System.Runtime.Handles": "(,4.3.32767]",
|
||||
"System.Runtime.InteropServices": "(,4.3.32767]",
|
||||
"System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]",
|
||||
"System.Runtime.Loader": "(,4.3.32767]",
|
||||
"System.Runtime.Numerics": "(,4.3.32767]",
|
||||
"System.Runtime.Serialization.Formatters": "(,4.3.32767]",
|
||||
"System.Runtime.Serialization.Json": "(,4.3.32767]",
|
||||
"System.Runtime.Serialization.Primitives": "(,4.3.32767]",
|
||||
"System.Runtime.Serialization.Xml": "(,4.3.32767]",
|
||||
"System.Security.AccessControl": "(,6.0.32767]",
|
||||
"System.Security.Claims": "(,4.3.32767]",
|
||||
"System.Security.Cryptography.Algorithms": "(,4.3.32767]",
|
||||
"System.Security.Cryptography.Cng": "(,5.0.32767]",
|
||||
"System.Security.Cryptography.Csp": "(,4.3.32767]",
|
||||
"System.Security.Cryptography.Encoding": "(,4.3.32767]",
|
||||
"System.Security.Cryptography.OpenSsl": "(,5.0.32767]",
|
||||
"System.Security.Cryptography.Primitives": "(,4.3.32767]",
|
||||
"System.Security.Cryptography.X509Certificates": "(,4.3.32767]",
|
||||
"System.Security.Principal": "(,4.3.32767]",
|
||||
"System.Security.Principal.Windows": "(,5.0.32767]",
|
||||
"System.Security.SecureString": "(,4.3.32767]",
|
||||
"System.Text.Encoding": "(,4.3.32767]",
|
||||
"System.Text.Encoding.CodePages": "(,10.0.32767]",
|
||||
"System.Text.Encoding.Extensions": "(,4.3.32767]",
|
||||
"System.Text.Encodings.Web": "(,10.0.32767]",
|
||||
"System.Text.Json": "(,10.0.32767]",
|
||||
"System.Text.RegularExpressions": "(,4.3.32767]",
|
||||
"System.Threading": "(,4.3.32767]",
|
||||
"System.Threading.AccessControl": "(,10.0.32767]",
|
||||
"System.Threading.Channels": "(,10.0.32767]",
|
||||
"System.Threading.Overlapped": "(,4.3.32767]",
|
||||
"System.Threading.Tasks": "(,4.3.32767]",
|
||||
"System.Threading.Tasks.Dataflow": "(,10.0.32767]",
|
||||
"System.Threading.Tasks.Extensions": "(,5.0.32767]",
|
||||
"System.Threading.Tasks.Parallel": "(,4.3.32767]",
|
||||
"System.Threading.Thread": "(,4.3.32767]",
|
||||
"System.Threading.ThreadPool": "(,4.3.32767]",
|
||||
"System.Threading.Timer": "(,4.3.32767]",
|
||||
"System.ValueTuple": "(,4.5.32767]",
|
||||
"System.Xml.ReaderWriter": "(,4.3.32767]",
|
||||
"System.Xml.XDocument": "(,4.3.32767]",
|
||||
"System.Xml.XmlDocument": "(,4.3.32767]",
|
||||
"System.Xml.XmlSerializer": "(,4.3.32767]",
|
||||
"System.Xml.XPath": "(,4.3.32767]",
|
||||
"System.Xml.XPath.XDocument": "(,5.0.32767]"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\vpodberezsky\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">7.0.0</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="C:\Users\vpodberezsky\.nuget\packages\" />
|
||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
||||
</ItemGroup>
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\10.0.1\buildTransitive\net8.0\Microsoft.Extensions.Configuration.UserSecrets.props" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\10.0.1\buildTransitive\net8.0\Microsoft.Extensions.Configuration.UserSecrets.props')" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\10.0.1\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\10.0.1\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\10.0.1\buildTransitive\net8.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\10.0.1\buildTransitive\net8.0\Microsoft.Extensions.Options.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.binder\10.0.1\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.binder\10.0.1\buildTransitive\netstandard2.0\Microsoft.Extensions.Configuration.Binder.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\10.0.1\buildTransitive\net8.0\Microsoft.Extensions.Configuration.UserSecrets.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\10.0.1\buildTransitive\net8.0\Microsoft.Extensions.Configuration.UserSecrets.targets')" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")]
|
||||
@@ -0,0 +1,23 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Этот код создан программой.
|
||||
// Исполняемая версия:4.0.30319.42000
|
||||
//
|
||||
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||
// повторной генерации кода.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("DataProxyApp")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ec07c6ab7d7580b6da915404fac2a3bb7bf06714")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("DataProxyApp")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("DataProxyApp")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// Создано классом WriteCodeFragment MSBuild.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
7ea1161164debc2b8d370689d26b7d0bd4d2206c25eb7ae2d896610f29cc8f8d
|
||||
@@ -0,0 +1,17 @@
|
||||
is_global = true
|
||||
build_property.TargetFramework = net10.0
|
||||
build_property.TargetFrameworkIdentifier = .NETCoreApp
|
||||
build_property.TargetFrameworkVersion = v10.0
|
||||
build_property.TargetPlatformMinVersion =
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = DataProxyApp
|
||||
build_property.ProjectDir = D:\!!!gitea\homeOn\HomeOnApp\Services\DataProxyApp\DataProxyApp\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.EffectiveAnalysisLevelStyle = 10.0
|
||||
build_property.EnableCodeStyleSeverity =
|
||||
@@ -0,0 +1,8 @@
|
||||
// <auto-generated/>
|
||||
global using System;
|
||||
global using System.Collections.Generic;
|
||||
global using System.IO;
|
||||
global using System.Linq;
|
||||
global using System.Net.Http;
|
||||
global using System.Threading;
|
||||
global using System.Threading.Tasks;
|
||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user