【问题标题】:TypeLITE with multiple projectsTypeLITE 与多个项目
【发布时间】:2014-06-11 00:12:54
【问题描述】:

我正在将 TypeLITE 用于各种项目和一个简单的网站。我想使用 TypeLITE 从我的 C# 类生成 TypeScript 定义,但我不允许将 TypeLITE dll 添加到每个项目中。

让这成为我的项目结构:

解决方案
|
|
----- 网站(使用 NuGet 安装 TypeLITE)
|
|
----- 第一项目
|
|
----- 第二项目
|
|
----- 第三项目

我通过 NuGet-Console 安装了 TypeLITE,C#-Classes 位于“FirstProject”、“SecondProject”和“ThirdProject”中。

问题:我必须为所有其他项目使用 NuGet-Installation。

这可能吗?

【问题讨论】:

    标签: c# .net typescript typelite


    【解决方案1】:

    如果您想在WebSite 中使用来自FirstProject 的类定义,只需将FirstProject 的引用添加到TypeLite.tt 中的TypeLite.tt 文件WebSite

    <#@ assembly name="$(TargetDir)FirstProject.dll" #>
    

    FirstProject 中的类将可用于 TypeLITE。

    (如果 FirstProject.dll 不在 WebSite 的 bin 文件夹中,则必须使用适当的目录而不是 $(TargetDir)

    【讨论】:

    • 谢谢你 - 我会检查这个!
    • 我试过这个,但它不起作用。据我了解,我必须将“[TsClass]”条目添加到我想与 TypeLITE 脚本一起使用的每个类中。但是没有 TypeLite.dll 的引用,[TsClass]-entry 是无效的
    • 只有ForLoadedAsemblies 方法自动发现类时才需要TsClass 属性。除了使用 ForLoadedAsemblies 方法,您可以手动将类添加到模型 - TypeScript.Definitions().For&lt;YourClass1&gt;().For&lt;YourClass2&gt;()
    • @LukasKabrt 您知道如何使用 typelite 将 guid 属性自定义为 ts 中的任何类型吗?它只是创建一个接口 guid 定义。 WebEssentials 通过右键单击上下文菜单创建任何类型的属性,但这是手动方法!
    猜你喜欢
    • 1970-01-01
    • 2020-01-11
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 2018-03-30
    相关资源
    最近更新 更多