如何通过 MSBuild 获取 .NET Core 应用程序的输出路径?
How to get the output path of a .NET Core app via MSBuild?
根据我的 project.json 文件,我有一个以 .NET Framework 为目标的 .NET Core 项目;
"frameworks": {
"net461": {
"dependencies": { }
}
}
我正在尝试找到一种方法将一些(本机)依赖项复制到我的输出构建目录,但我正在努力寻找正确的方法。
当我构建这个项目时,我的输出转到 bin\Debug\net461\win7-x64
。我想知道是否有检索输出路径的方法? $(TargetDir)
给了我 bin\
目录,但是是否有一个变量可以检索 bin\Debug\%FRAMEWORK%\%RUNTIME%
?
我还应该在 MSBuild 上使用 project.json 脚本吗?
编辑 - 2017 年 5 月 请在下面查看我的回答。简而言之,project.json
从未支持过这一点,但是鉴于 VS2017 中 project.json
的弃用,这个问题不再相关。
您可以将发布后脚本添加到您的 project.json,您可以在其中将本机位复制到 %publish:OutputPath%
。另一种选择是将要包含的文件添加到:
"publishOptions": {
"include": [
...
编辑 - 2017 年 5 月
Visual Studio 工具现已升级到版本 15,引入了 Visual Studio 2017 并且在此版本中 global.json
、project.json
和 .xproj
具有已逐步淘汰,取而代之的是 .csproj
项目文件。 VS2017打开解决方案时会提供单向迁移
有关迁移文档,请参阅此处:
https://docs.microsoft.com/en-us/dotnet/articles/core/migration/
请参阅此处了解两者之间的比较:
https://docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json-to-csproj
根据我的 project.json 文件,我有一个以 .NET Framework 为目标的 .NET Core 项目;
"frameworks": {
"net461": {
"dependencies": { }
}
}
我正在尝试找到一种方法将一些(本机)依赖项复制到我的输出构建目录,但我正在努力寻找正确的方法。
当我构建这个项目时,我的输出转到 bin\Debug\net461\win7-x64
。我想知道是否有检索输出路径的方法? $(TargetDir)
给了我 bin\
目录,但是是否有一个变量可以检索 bin\Debug\%FRAMEWORK%\%RUNTIME%
?
我还应该在 MSBuild 上使用 project.json 脚本吗?
编辑 - 2017 年 5 月 请在下面查看我的回答。简而言之,project.json
从未支持过这一点,但是鉴于 VS2017 中 project.json
的弃用,这个问题不再相关。
您可以将发布后脚本添加到您的 project.json,您可以在其中将本机位复制到 %publish:OutputPath%
。另一种选择是将要包含的文件添加到:
"publishOptions": {
"include": [
...
编辑 - 2017 年 5 月
Visual Studio 工具现已升级到版本 15,引入了 Visual Studio 2017 并且在此版本中 global.json
、project.json
和 .xproj
具有已逐步淘汰,取而代之的是 .csproj
项目文件。 VS2017打开解决方案时会提供单向迁移
有关迁移文档,请参阅此处: https://docs.microsoft.com/en-us/dotnet/articles/core/migration/
请参阅此处了解两者之间的比较: https://docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json-to-csproj