Hi, EngincanV
Sorry for pushing.. any news?
Hi Viktor, sorry for the late response. I've checked your project, but it seems the project that you shared is suppose to use central package management, however there are some problems when building the application. So it seems the package versions are still being used in several project instead of a central place.
So, please fix the central package management problem and re-share your solution. So, I can directly focus on the problem that you are facing.
Regards.
Hi @cangunaydin, thanks for the detailed step-by-step explanation. I'll try it and write you back asap.
I have successfully converted. Here is the code for anyone who needs it: https://nguyendigital.net/migrating-mongodb-guids-from-legacy-to-standard-format-in-abp
Finally, thank you ABP so much for the help these past 2 days.
Thanks for sharing your steps and nice words. Closing the issue since your problem is resolved. Feel free to open it if there is any problem related to this ticket.
Regards
I think the best way is from the current database we will create a new one to get the data to be compatible with the structure of mongo v3 but it will be a bit complicated. I wonder if there is a better solution?
Actually, if you are building your application relatively new and your data is not important at the point, it's the easiest way as you said. If you need another solution, I need to know more details such as properties in the related entity, your custom implementation if there is any, etc.
Please help me. Because I tried the same as you but completely different.
- volo.abp.leptonxtheme.management.domain.shared not found
- Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX is available
Hi @nguyendigital, thanks for reporting the problem. We have published the related NuGet packages; however, we should have configured them on our side to let our customers use them. Now, we made the necessary change, and you should be able to access to the related NuGet packages.
Please let me know about the status. Your ticket has been refunded btw. Regards.
Thank you. It worked
Great to hear that. Regards.
I wander how this line works serverBuilder.AddProductionEncryptionAndSigningCertificate("openiddict.pfx", "00000000-0000-0000-0000-000000000000"); since this openiddict.pfx file is ignored from git (i.e: it doesn't exist on ther server)!!!
Hi, you can remove it from .gitignore if you wish or run the following command on your server to have this file:
dotnet dev-certs https -v -ep openiddict.pfx -p 00000000-0000-0000-0000-000000000000
https://abp.io/docs/latest/deployment/configuring-openiddict
Hi, EngincanV We are blocked with our solution due to this issue. Any updates on this?
Hi, I got your solution. But haven't had time to examine it yet. I'll check it asap.
Hi, the package Volo.Abp.Studio.Extensions.StandardSolutionTemplates is used by ABP CLI and ABP Studio to provide solution templates. Are you trying to install it manually? It's recommended to let ABP Studio CLI or GUI handle the installation for you. (This is not a package that can be used in your own applications)
I initially tried running the CLI tool to create a new tiered MVC solution and the error was thrown. I then checked via a manual install in VS Studio and was unable to install the package due to a missing nuspec file. It seems ABP Studio was unable to install the package by itself.
Okay, thanks for the explanation. Can you please try to clear your NuGet cache locally (by using the below command) and then try to open ABP Studio, or run an ABP CLI command?
dotnet nuget locals all --clearABP Studio CLI & GUI, uses the local cached NuGet package to seamlessly work. So, clearing the cache and re-installing the extension probably will fix this problem.
Thank you - this resolved the issue.
Great to hear that. Regards.
okay i think i have found the problem but i need a solution for my case. this error happens because i removed JsonSerializer Converters that is type of ObjectToInferredTypesConverter to use IAsyncEnumerable from my controllers.
private void ConfigureJsonSerializerForAsyncEnumarable(ServiceConfigurationContext context, IConfiguration configuration) { context.Services.Configure<JsonOptions>(options => { options.JsonSerializerOptions.Converters.RemoveAll(x => x.GetType() == typeof(ObjectToInferredTypesConverter)); }); }i need to keep this code since i need to serialize json responses asynchronously from my controller. But this is effecting the validations in extra properties.
Is there any other way that i can have both of the worlds.
Hi, you may create a new a custom JsonConverter for IAsyncEnumerable like the below:
using System;
using System.Collections.Generic;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace YourNamespace;
public class AsyncEnumerableConverter : AsyncEnumerableConverter<object>
{
}
public class AsyncEnumerableConverter<T> : JsonConverter<IAsyncEnumerable<T>>
{
public override IAsyncEnumerable<T> Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
throw new NotSupportedException("Reading IAsyncEnumerable from JSON is not supported.");
}
public override void Write(Utf8JsonWriter writer, IAsyncEnumerable<T> value, JsonSerializerOptions options)
{
writer.WriteStartArray();
var enumerator = value.GetAsyncEnumerator();
try
{
while (enumerator.MoveNextAsync().GetAwaiter().GetResult())
{
JsonSerializer.Serialize(writer, enumerator.Current, options);
}
}
finally
{
enumerator.DisposeAsync().AsTask().GetAwaiter().GetResult();
}
writer.WriteEndArray();
}
}
Then without removing ObjectToInferredTypesConverter instead add the new jsonconverter by configuring the JsonOptions:
context.Services.Configure<JsonOptions>(options =>
{
options.JsonSerializerOptions.Converters.Add(new AsyncEnumerableConverter());
// You should NOT have the line that removes ObjectToInferredTypesConverter here anymore
});
Please let me know, if it fixes your problem or not. Regards.