2011-07-02 10 views
1

.dllファイルと.targetsファイルが同じディレクトリにあります。その.targetsファイルの中で、.dllをItemGroup項目に追加したいと思います。しかし、私はちょうどこれに似たことを追加した場合:msbuild .targetsファイルのItemGroup項目の相対パス

<Example Include="Example.dll" /> 

をEXAMPLE.DLLへのパスは、.targetsファイルを含めている.csprojからの相対パスとして解決されるように表示されます。このような相対パスを持つ.targetsファイルのItemGroupに項目を追加するにはどうすればよいですか?例えば

は、私が持っているとします

C:\lib\Example.dll 
C:\lib\Example.targets 
C:\src\Example.csproj 

.targets内部からEXAMPLE.DLLを含む完全なパスが間違っているC:\src\Example.dllに、私が欲しいものC:\lib\Example.dllで解決しますファイル。誰にも何か提案はありますか? .targetsファイル内

答えて

7

、これを使用し、

<Example Include="$(MSBuildThisFileDirectory)\Example.dll" /> 

...その予約プロパティは、.targetsファイルが存在するディレクトリではなく、.targetsファイルをインポートするプロジェクトファイルに解決されます相対パス解決のデフォルトです。

+0

は魅力的です。 –