.net 使用自定义应用程序分发microsoft.visualstudio.texttemplating.dll

.net 使用自定义应用程序分发microsoft.visualstudio.texttemplating.dll,.net,visual-studio,templates,licensing,t4,.net,Visual Studio,Templates,Licensing,T4,我们正在编写一个应用程序,它将使用T4生成Flex/Actionscript以编译成SWF。我们希望将此应用程序分发给那些没有VS的用户。我已经搜索了很多次,在任何地方都找不到有关使用您的应用程序重新分发microsoft.visualstudio.texttemplating.dll的任何信息,但允许托管您自己的T4 builder的code plex项目()除外(使用并包含microsoft.visualstudio.texttemplating.dll的副本) 那么,有没有人确切知道或者可

我们正在编写一个应用程序,它将使用T4生成Flex/Actionscript以编译成SWF。我们希望将此应用程序分发给那些没有VS的用户。我已经搜索了很多次,在任何地方都找不到有关使用您的应用程序重新分发microsoft.visualstudio.texttemplating.dll的任何信息,但允许托管您自己的T4 builder的code plex项目()除外(使用并包含microsoft.visualstudio.texttemplating.dll的副本)

那么,有没有人确切知道或者可以告诉我在哪里可以找到在我们的应用程序中包含此dll的信息

提前谢谢你!
Ilya

我很确定这是不允许的。如果Microsoft允许重新分发软件包,他们会在其中包含redist.txt或将其放在redist文件夹中。

在VS2010中,他们已经将T4依赖的依赖项移到了外部类。你能使用VS2010的Beta版来创建依赖项吗?

我给定制Templa的Tim Cools发电子邮件ting在CodePlex上进行了一个项目,他通过此线程()向MS rep发送了一封电子邮件,提出了相同的问题。以下是回复:

“如果用户安装了VS2008或更高版本,他将安装dll。没有可再发行版本。如果他在VS2005上,那么他将需要安装DSL运行时可再发行版本,因为它不包括在VS2005框中。但这确实需要他也安装VS2005(正如您提到的线程中明确说明的那样)

因此,简单的回答是,所有用户必须安装VS才能使用此DLL。”

Tim后来继续说,“但实际上有一个可再发行的软件包包含dll:MicrosoftVisualStudio2008Shell(集成模式)可再发行软件包 [链接已删除-新用户限制]但与dll(84 kb)相比,它太大了(315.9 MB)。”

我同意这一点

然而,最终的答案似乎在于VS 2010测试版的T4,正如这里所讨论的:[链接已删除-新用户限制]

“[T]在VS 2010的Beta1中,T4已经有了一些新功能,特别是能够有一个预处理的模板,可以编译成代码,而不依赖于T4运行时。您可以在我的博客上[link removed-new user limit]和[link removed-new user limit]了解更多关于他的信息。”


所以,这就是我们可能要做的。预处理模板,使它们没有任何依赖性。我只想与大家分享我发现的东西。

我为MonoDevelop IDE编写了一个T4引擎的干净的反向工程实现。它是开源的,在许可的MIT/X11许可下获得许可,所以你是free将引擎嵌入到你的应用程序中或重新发布它。还有一个TextTransform.exe命令行工具的实现,以及Mono.TextTemplating命名空间中的一些API来帮助托管引擎

目前唯一真正缺少的功能是自定义指令提供程序-但欢迎为此提供补丁:-)


您可以从Mono SVN中的monodevelop/main/src/addins/textmplating获取代码。

我也遇到过类似的问题,但涉及构建服务器

为了其他需要在生成服务器上运行文本生成的用户(从法律角度来看,不是重新分发场景),请执行以下操作:

生成服务器中的文本转换

如果生成服务器在未安装Visual Studio的计算机上运行 如果已安装,则应将以下文件复制到生成计算机 从安装了Visual Studio SDK的计算机:

\Program Files\Microsoft Visual Studio 2010 SDK\VisualStudioIntegration\Common\Assemblies\v4.0\

    Microsoft.VisualStudio.TextTemplating.11.0.dll
    Microsoft.VisualStudio.TextTemplating.Interfaces.11.0.dll
    Microsoft.VisualStudio.TextTemplating.VSHost.11.0.dll

\Program Files\MSBuild\Microsoft\VisualStudio\TextTemplating\v11.0\

    Microsoft.VisualStudio.TextTemplating.Sdk.Host.11.0.dll

\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\PublicAssemblies\

    Microsoft.VisualStudio.TextTemplating.Modeling.11.0.dll

更新:最终,我在GAC中找到了这些文件,但在其他任何地方都找不到。安装Visual Studio 2010 SDK(在生成服务器上)后,它们出现在
C:\Program Files(x86)\Microsoft Visual Studio 2010 SDK\VisualStudioIntegration\Common\Assembly\v4.0
中,但不在该计算机上的GAC中。所以我最终做了:

  • 在生成服务器上安装VS2010 SDK
  • 在GAC中手动注册程序集

  • 谢谢你指出这一点,迈克尔。我在Mono online中看到了TextTemplating,但之前没有使用过Mono,因此很难找到该库。我们最终使用了Spark View Engine(),它将完美地满足我们的需求,但很高兴知道有一个类似于T4的替代方案。我投票结束这个问题,因为它应该问律师。