2

Typescriptを使用してVisual Studioでコンパイルおよび実行するProjectAをセットアップしました。ProjectB をセットアップし、ProjectA のコードの一部を使用したいと考えています。

したがって、私のディレクトリ構造が次の場合:

c:\workspace\ProjectA\src
c:\workspace\ProjectB\src
c:\workspace\shared\src

ProjectA と ProjectB の .csproj ファイルを編集して、共有 typescript コードを指すようにすることは可能ですか?

ありがとう

4

4 に答える 4

4

共有ファイル (TypeScript ファイルと関連ファイル) を共有フォルダーに配置し、ファイルを追加するときに使用Add > Existing Itemして選択することで、これをテストしました。Add As Link

参照コメントを使用している場合は、相対パスを使用する必要があります。共有ファイルをローカルの TypeScript ファイルにドラッグすると、次のように生成されます。

/// <reference path="../../Shared/Logger.ts" />

展開戦略を検討する必要があります。これを行う 1 つの方法は、JavaScript ファイルをビルド時にコピーするように設定することです。これにより、すべてのファイルが bin フォルダーに表示されます。

また、共有されたものをパッケージ化することを検討することもできます。たとえば、それらの NuGet パッケージを作成できます。

于 2013-05-14T17:10:12.513 に答える
1

csproj ファイルを編集することによる回避策があります。サブフォルダーごとにエントリを入力する必要がありますが、共有ファイルがたくさんある私の場合は、これは価値があります。この方法を使用すると、サブフォルダー内のすべてのファイルもソリューション エクスプローラーに一覧表示されます。

<Content Include="..\..\shared\*">
    <Link>src\shared\f</Link>
</Content>
<Content Include="..\..\shared\subfolderA\*">
    <Link>src\shared\subfolderA\f</Link>
</Content>
<Content Include="..\..\shared\subfolderB\*">
    <Link>src\shared\subfolderB\f</Link>
</Content>

Link 要素は、ソリューション エクスプローラーに表示されるパスを示します。リンク パスの最後に余分な \f があることに注意してください。これは任意の文字列である可能性があり、何らかの理由で、パーサーに希望どおりに解釈させます。

おそらくほとんどの場合に最適なアプローチであるため、Steve Fenton の回答を正しいとマークしました。

于 2013-05-16T15:25:12.847 に答える