小编Ari*_*ies的帖子

msix 和多个目标框架不起作用

我有多个目标框架的 wpf 项目

<TargetFrameworks>netcoreapp3.0;net48</TargetFrameworks>

在 vs2019 中,我创建了Windows Application Packaging Project(MSIX 包)并添加了对我的项目的引用。

但是当我尝试构建打包项目时,出现此错误:

error MSB4057: The target "GetTargetPathWithTargetPlatformMoniker" does not exist in the project.
error MSB4057: The target "GetTargetPath" does not exist in the project.
error MSB4057: The target "GetDeployableContentReferenceOutputs" does not exist in the project. 
Run Code Online (Sandbox Code Playgroud)

当我使用单个目标时一切正常

<TargetFramework>netcoreapp3.0</TargetFramework>

.net .net-core msix visual-studio-2019

7
推荐指数
0
解决办法
907
查看次数

Asp网核rc2.抽象类模型绑定

在RC1中,我使用以下代码进行抽象类或接口绑定:

public class MessageModelBinder : IModelBinder {

    public Task<ModelBindingResult> BindModelAsync(ModelBindingContext bindingContext) {
        if(bindingContext.ModelType == typeof(ICommand)) {
            var msgTypeResult = bindingContext.ValueProvider.GetValue("messageType");
            if(msgTypeResult == ValueProviderResult.None) {
                return ModelBindingResult.FailedAsync(bindingContext.ModelName);
            }
            var type = Assembly.GetAssembly(typeof(MessageModelBinder )).GetTypes().SingleOrDefault(t => t.FullName == msgTypeResult.FirstValue);
            if(type == null) {
                return ModelBindingResult.FailedAsync(bindingContext.ModelName);
            }
            var metadataProvider = (IModelMetadataProvider)bindingContext.OperationBindingContext.HttpContext.RequestServices.GetService(typeof(IModelMetadataProvider));
            bindingContext.ModelMetadata = metadataProvider.GetMetadataForType(type);
        }
        return ModelBindingResult.NoResultAsync;
    }
}
Run Code Online (Sandbox Code Playgroud)

此绑定程序仅从messageType查询字符串中读取模型类型(参数)并覆盖元数据类型.其余的工作由标准粘合剂执行,如BodyModelBinder.

在Startup.cs中我只添加第一个binder:

services.AddMvc().Services.Configure<MvcOptions>(options => {
    options.ModelBinders.Insert(0, new MessageModelBinder());
});
Run Code Online (Sandbox Code Playgroud)

控制器:

[Route("api/[controller]")]
public class MessageController : Controller {
    [HttpPost("{messageType}")]
    public ActionResult Post(string …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc asp.net-core-mvc asp.net-core

6
推荐指数
1
解决办法
3579
查看次数