Mat*_*t W 10 target visual-studio nuget
如果我有这样的项目结构:
\MySolution
\MyProject
ReadMe.md
\build
MyProject.targets
Run Code Online (Sandbox Code Playgroud)
$(MSBuildThisFileDirectory)在MyProject.targets文件中使用时的价值是多少?
假设我的解决方案文件夹位于C:驱动器的根目录下,它会是什么?
c:\MySolution\MyProject\build\
Run Code Online (Sandbox Code Playgroud)
在MyProject.targets文件中,我将如何ReadMe.md使用$(MSBuildThisFileDirectory)?
附加信息:
MyProject.targets看起来像:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)\xxx\ReadMe.md">
<Link>FrameworkTests.feature</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CustomToolNamespace></CustomToolNamespace>
</None>
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
MSBuildThisFileDirectory的价值是多少?
这取决于你的MyProject.targets.根据此变量的字面含义,您可以知道ThisFileDirectory"此文件目录".
由于您在文件中使用了此参数,因此MyProject.targets该路径应与"此文件"的位置相关MyProject.targets.所以这个参数的值应该是这个文件的目录MyProject.targets.
安装nuget后,MyProject.targets应将该文件添加到路径中:
c:\MySolution\packages\MyProject.1.0.0<YouPackagefolder>\build
Run Code Online (Sandbox Code Playgroud)
您可以使用目标在项目文件中输出该值,以完成此操作,卸载项目.然后在项目的最后,就在结束标记之前</project>,放在脚本下面:
<Target Name="TestValue" AfterTargets="build">
<Message Text="@(none)">
</Message>
</Target>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7225 次 |
| 最近记录: |