2

T4 を使用して Flex/Actionscript を生成し、SWF にコンパイルするアプリを作成しています。VS を持っていないユーザーにこのアプリを配布したいと考えています。独自の T4 をホストできるこのコード プレックス プロジェクト ( http://customtemplating.codeplex.com/ ) を除いて、アプリで microsoft.visualstudio.texttemplating.dll を再配布することに関する情報を検索して検索しましたが、どこにも情報が見つかりませんでした。ビルダー (microsoft.visualstudio.texttemplating.dll のコピーを使用し、含んでいます)。

それで、誰かが確かに知っているか、私たちのアプリにこのdllを含めることに関する情報をどこで見つけることができるか教えてもらえますか?

前もって感謝します!イリヤ

4

5 に答える 5

5

MonoDevelop IDE 用の T4 エンジンのクリーンなリバース エンジニアリング実装を作成しました。これはオープンソースであり、寛大な MIT/X11 ライセンスの下でライセンスされているため、エンジンをアプリに自由に組み込んだり、再配布したりできます。TextTransform.exe コマンド ライン ツールの実装と、エンジンのホスティングを支援する Mono.TextTemplating 名前空間のいくつかの API もあります。

現在、実際に欠けている唯一の機能は、カスタム ディレクティブ プロバイダーですが、これに対するパッチは大歓迎です :-)

Mono SVN の monodevelop/main/src/addins/TextTemplating からコードを取得できます。

于 2009-09-08T17:53:30.977 に答える
4

CodePlex のカスタム テンプレート プロジェクトの Tim Cools にメールを送信したところ、彼はこのスレッドから MS 担当者にメールを送信しました ( http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/1ab0bf3f-2810-4adf-bf75- 900b98dee8e2 ) と同じ質問をします。応答は次のとおりです。

「ユーザーが VS2008 以降をインストールしている場合、dll がインストールされています。再配布可能ファイルはありません。VS2005 を使用している場合、VS2005 ボックスには含まれていないため、DSL ランタイム再配布可能ファイルをインストールする必要があります。しかし、それには、VS2005もインストールする必要があります(参照するスレッドに明確に記載されています)。

簡単に言えば、この DLL を使用するには、すべてのユーザーが VS をインストールしている必要があります。」

ティムは後に、「しかし、実際には dll を含む再頒布可能パッケージがあります: Microsoft Visual Studio 2008 Shell (統合モード) 再頒布可能パッケージ [リンクは削除されました - 新しいユーザー制限] しかし、比較すると大きすぎます (315.9 MB)。 dll (84 kb)」です。

これで私は同意します。

ただし、ここで説明されているように、最終的な答えは VS 2010 Beta の T4 にあるようです: [リンクが削除されました - 新しいユーザーの制限]

"[T] VS 2010 の Beta1 で既に T4 の新機能がいくつかあります。特に、T4 ランタイムに依存せずにコードにコンパイルされる前処理済みのテンプレートを使用する機能があります。彼については、私のブログでもう少し詳しく知ることができます。 [リンクが削除されました - 新しいユーザーの制限] および [リンクが削除されました - 新しいユーザーの制限]」

だから、これはおそらく私たちが行くつもりです。依存関係がないように、テンプレートを前処理します。私が見つけたものをみんなと共有したかっただけです。

于 2009-08-27T12:42:02.790 に答える
1

許可されていないことは確かです。Microsoft がパッケージの再配布を許可している場合、パッケージに redist.txt を含めるか、redist フォルダーに配置します。

于 2009-08-26T00:43:23.390 に答える
0

VS2010 では、T4 が依存する依存関係を外部クラスに移動しました。VS2010 のベータ版を使用して依存関係を作成できますか?

于 2009-08-26T00:54:36.393 に答える