2017-12-05 16 views
1

ASP.NET IDを使用するASP.NETコアプロジェクトがあります。プロパティにはSystem.ComponentModel.DataAnnotationsの属性が含まれているため、エクスポートできないクラスもあります。このようなプロパティを無視すると、すべて正常に動作します。Reinforced.Typingsはプロパティの属性を処理できません

例クラス:

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) 
       ; 
     } 
    } 
} 

UseModulesが、私はそれが何をしたいの反対をしているようです。 trueに設定すると、生成されたtsファイルにはモジュールが含まれません。 falseに設定すると、私のtsファイルにmoduleが得られます。

また、ファイル間でタイプを分割すると、私の名前空間に.のすべてに対して\を含む奇妙なフォルダ名がMac上に表示されます。構造を平坦化できますか?そして、バックエンドの名前空間を完全に無視しますか?

上記の設定で(ファイル分割を使用して)、迷惑なエラーメッセージerror MSB3552: Resource file "**/*.resx" cannot be found.が表示されます。

+0

をエクスポートできません。シリアライズできないことを意味しますか?System.ComponentModel.DataAnnotations属性はモデルの検証に使用されますが、シリアル化に問題はありません。あなたはあなたが得ているエラーを投稿できますか? –

+0

あなたは詳細をあまり提供していませんが、現在のコードから、あなたのモデルで '' [TsInterface] '' '' '' '' [TsClass] ''属性が見つからないか、流暢な呼び出しが '' ' ExprotAsInterface'''/'' '.ExportAsClass'''。 エクスポート設定を指定してください。それから私は答えることができます。現在私のマシンでテスト用の.NETコアプロジェクトを作成し、 '' '[' 'TsInterface]' 'をそれに追加するだけで正常にモデルをエクスポートしました。 [Reinforced.Typings](https://github.com/reinforced/Reinforced.Typings)は、何らかの理由で '' '' System.ComponentModel.DataAnnotations'''の属性に干渉しません。 –

+0

エラーMSB3552:リソースファイル "**/*。resx"の問題を修正するとすぐに、私は追加の詳細を書いてみましょう... –

答えて

1

1.4.2にアップグレードしてこの問題を解決してください。

関連する問題