我在同一目录中有.dll和.targets文件.在.targets文件中,我想将.dll添加到ItemGroup项.但是,如果我只是添加它类似于:
<Example Include="Example.dll" />
Run Code Online (Sandbox Code Playgroud)
Example.dll的路径似乎是相对于包含.targets文件的.csproj进行解析.如何将项目添加到.targets文件中的ItemGroup,并使用这样的相对路径?
例如,假设我有:
C:\lib\Example.dll
C:\lib\Example.targets
C:\src\Example.csproj
Run Code Online (Sandbox Code Playgroud)
从.targets文件中包含Example.dll时,完整路径解析C:\src\Example.dll为错误,我想要的是C:\lib\Example.dll.有没有人有什么建议?
在.targets文件中,使用此,
<Example Include="$(MSBuildThisFileDirectory)\Example.dll" />
Run Code Online (Sandbox Code Playgroud)
...保留属性将解析为.targets文件所在的目录,而不是导入.targets文件的项目文件,这是相对路径解析的默认值.