我正在尝试将解决方案内的项目从 .net Framework 4.7.2 升级到 net6.0,但是在第一个项目(类库)升级后,它会导致 .net standard 2.0 而不是 net 6.0。正在使用的助手版本是(版本“0.3.261602”)。我还安装了net 6 sdk
我正在使用此处提供的命令
以下是我尝试过的命令和结果
upgrade-assistant upgrade --target-tfm-support lts "C:\Users\..\..\mySolution.sln"
upgrade-assistant upgrade --target-tfm-support "C:\Users\..\..\mySolution.sln"
Run Code Online (Sandbox Code Playgroud)
这两个命令都会升级到 .net standard 2.0
upgrade-assistant upgrade --target-tfm-support latest "C:\Users\..\..\mySolution.sln"
Run Code Online (Sandbox Code Playgroud)
错误:无法将选项“--target-tfm-support”的参数“最新”解析为预期类型 Microsoft.DotNet.UpgradeAssistant.UpgradeTarget。
upgrade-assistant upgrade --target-tfm-support net6.0 "C:\Users\..\..\mySolution.sln"
Run Code Online (Sandbox Code Playgroud)
错误:无法将选项“--target-tfm-support”的参数“net6.0”解析为预期类型 Microsoft.DotNet.UpgradeAssistant.UpgradeTarget。
以下是项目升级后的结果
1. [Complete] Back up project
2. [Complete] Convert project file to SDK style
3. [Complete] Clean up NuGet package references
4. [Complete] Update TFM
5. [Complete] Update NuGet Packages
6. [Complete] Add template files
7. …Run Code Online (Sandbox Code Playgroud) 我正在使用 Daniel Cazzulino 的 moq 框架,kzu 版本 4.10.1。我想要最小起订量,以便我可以测试功能的特定部分(以下是我可以提取的代码的简单版本)
fluent/chain 方法的设计使您可以通过 Id 获取对象,并在需要时包含任何其他信息。
当函数调用 moq'ed 方法时,我在获取正确的对象时遇到了一些麻烦,该方法当前正在返回最后一个错误的 moq'ed 对象
/*My current Moq setup*/
class Program
{
static void Main(string[] args)
{
var mock = new Mock<IFluent>();
var c1 = new ClassA() { Id = 1, Records = new List<int>() { 5, 2, 1, 10 }, MetaData = new List<string>() };
var c2 = new ClassA() { Id = 2, Records = new List<int>(), MetaData = new List<string>() { "X", "Y", "Z" } …Run Code Online (Sandbox Code Playgroud) 使用.net core 3.0和wpf
我已经成功在 wpf 中为 .net core 3.0 构建了一个应用程序,并且在我安装了 Visual Studio(开发环境)的地方运行良好。
但是,一旦我复制发布文件夹并在另一台计算机上运行它,我就会找不到 hostfxr.dll 如果这是依赖于框架的应用程序,请在全局位置 C:\program files\dotnet 中安装运行时或使用 DOTNET_ROOT环境变量指定运行时位置
我已经安装了 3.0 预览运行时,它匹配位置并设置 DOTNET_ROOT 环境变量并将其指向运行时位置 C:\program files\dotnet
缺少什么吗?
所以我遇到的情况是我的 NewtonJson 自定义转换器无法与 body api 调用一起使用。(默认使用 System.Text.Json 进行转换)。
所以目前我有一个临时解决方案来编写一些包装器,这些包装器最终将调用 Newtonjson,直到编写并测试 text.json 转换器。
我想做的是将整个对象作为字符串读取并将其传递给牛顿转换器
我的 StartUp.cs
services.AddControllers(options =>
options.Filters.Add<ApiExceptionFilterAttribute>())
.AddFluentValidation(x => x.AutomaticValidationEnabled = false)//ValidationBehaviour handle fluent validations.
.AddJsonOptions(x =>
{
x.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
x.JsonSerializerOptions.Converters.Add(new SystemModelConverter());
x.JsonSerializerOptions.IgnoreNullValues = true;
});
Run Code Online (Sandbox Code Playgroud)
我的转换器类
public class SystemModelConverter : JsonConverter<ISystemModel>
{
public override bool CanConvert(Type typeToConvert)
{
return (typeToConvert.GetInterface(typeof(ISystemModel).Name) != null);
}
public override ISystemModel Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
var value = new StringBuilder();
while(reader.Read())
{
var str = reader.GetString();
value.Append(str);
}
//passing …Run Code Online (Sandbox Code Playgroud)