Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 强化。键入无法处理属性上的属性_C#_Asp.net Core_Reinforced Typings - Fatal编程技术网

C# 强化。键入无法处理属性上的属性

C# 强化。键入无法处理属性上的属性,c#,asp.net-core,reinforced-typings,C#,Asp.net Core,Reinforced Typings,我有一个使用ASP.NET标识的ASP.NET核心项目。某些类无法导出,因为它们的属性包含来自System.ComponentModel.DataAnnotations的属性。如果我忽略这些属性,一切都会很好 示例类: public class LoginViewModel { [Required] [EmailAddress] public string Email { get; set; } [Required] [DataType(DataType

我有一个使用ASP.NET标识的ASP.NET核心项目。某些类无法导出,因为它们的属性包含来自
System.ComponentModel.DataAnnotations
的属性。如果我忽略这些属性,一切都会很好

示例类:

public class LoginViewModel
{
    [Required]
    [EmailAddress]
    public string Email { get; set; }

    [Required]
    [DataType(DataType.Password)]
    public string Password { get; set; }

    [Display(Name = "Remember me?")]
    public bool RememberMe { get; set; }
}
既然我不想去掉这些属性,建议采取什么行动

[assembly: TsGlobal(
    CamelCaseForMethods = true,
    CamelCaseForProperties = true,
    GenerateDocumentation = true,
    UseModules = true,
    DiscardNamespacesWhenUsingModules = true)]

namespace X
{
    public static class ReinforcedTypingsConfiguration
    {
        public static void Configure(ConfigurationBuilder builder)
        {
            builder
                .ExportAsInterface<LoginViewModel>()
                .AutoI(false)
                .WithProperty(x => x.RememberMe)
                ;
        }
    }
}
[程序集:TsGlobal(
CamelCaseForMethods=true,
CamelCaseForProperties=true,
生成文档=真,
UseModules=true,
DiscardNamespacesWhenUsingModules=true)]
名称空间X
{
公共静态类增强的键入配置
{
公共静态无效配置(ConfigurationBuilder)
{
建设者
.exportaInterface()
.AutoI(错误)
.WithProperty(x=>x.RememberMe)
;
}
}
}
除此之外,
UseModules
似乎与我希望它做的相反。当设置为
true
时,生成的ts文件不包含任何模块。当设置为
false
时,我在ts文件中获得
模块

此外,在文件之间划分类型时,我在mac上会得到奇怪的文件夹名称,其中包含我命名空间中每个
。我能把结构弄平吗?完全忽略后端名称空间


在上面的配置中(我使用文件拆分),我收到了恼人的错误消息
错误MSB3552:找不到资源文件“***.resx”。

升级到1.4.2以解决此问题。

无法导出?,您的意思是无法序列化?。。System.ComponentModel.DataAnnotations属性用于模型验证,它们不应导致序列化中出现任何问题。您可以发布您收到的错误吗?您提供的详细信息太少,但从当前代码中,我可以看出您可能缺少模型上的
[TsInterface]
/
[TsClass]
属性或fluent call
.ExprotAsInterface
/.ExportAsClass。请提供您的导出配置-然后我可以回答。目前,我已经在我的机器上创建了test.NET Core项目,只需在上面添加
[TsInterface]
即可成功导出您的模型。不以某种方式干扰
System.ComponentModel.DataAnnotations
属性。一旦我解决了问题
错误MSB3552:无法找到资源文件“***.resx”。
我将编写其他详细信息…根据您的代码,RT预期只导出一个字段-
RememberMe
。尝试使用
.WithPublicProperties()
关于模块:根据
UseModules
选项可生成TS模块系统兼容代码。这并不意味着您将在代码中获得
module
关键字。您是否收到任何错误消息?