控制 web essential 如何从 .cs 文件生成 d.ts 文件
Posted
技术标签:
【中文标题】控制 web essential 如何从 .cs 文件生成 d.ts 文件【英文标题】:Control how web essential generates d.ts files from .cs files 【发布时间】:2014-08-06 04:39:40 【问题描述】:例如,“Guid”类型被归类为“any”类型。
Uri 类型生成为复杂类型:
AbsolutePath: string;
AbsoluteUri: string;
Authority: string;
DnsSafeHost: string;
Fragment: string;
Host: string;
HostNameType: any;
IsAbsoluteUri: boolean;
IsDefaultPort: boolean;
IsFile: boolean;
IsLoopback: boolean;
IsUnc: boolean;
LocalPath: string;
OriginalString: string;
PathAndQuery: string;
Port: number;
Query: string;
Scheme: string;
Segments: string[];
UserEscaped: boolean;
UserInfo: string;
但实际上它被序列化为字符串。
所以...是否有可能以某种方式告诉 WebEssentials,如何序列化属性类型, 全局:
Guid -> string
Uri -> string
或按属性进行本地属性:
[TypescriptType(typeof(string))]
Guid Id get; set;;
当然,全局按项目或解决方案更好。
【问题讨论】:
我不认为TypescriptType
来自网络要领...
【参考方案1】:
Web Essentials 似乎无法做到这一点(还没有?)。我建议你两件事:
使用TypeLITE(和我们一样)。 分叉。查看IntellisenseParser.cs 并找到GetClassName
。
(如果您对此有任何进展,请告诉我。;))
【讨论】:
只是一个想法:在IntellisenseParaser.cs
这里有一本字典_knownPrimitiveTypes
。也许如果我们在其中添加guid
并将其指向类型string
?将guid
s 设置为string
至少比any
略有改进以上是关于控制 web essential 如何从 .cs 文件生成 d.ts 文件的主要内容,如果未能解决你的问题,请参考以下文章
最锋利的Visual Studio Web开发工具扩展:Web Essentials详解(转)
如何在 Web API .NET Core 的控制器之外获取当前用户
Emmet 中的单引号与 VS Web Essentials