在 visual studio 2017 年通过 postbuild 事件构建 .net 核心项目
Build .net core project by postbuild event in visual studio 2017
我有项目 A
,它依赖于项目 B
,但没有从 B
到 A
的引用。我想在项目 B
的 bin folder
中构建程序集并将其复制到项目 A
的 bin folder
中。我如何使用 post 构建事件和 dotnet msbuild
.
执行此操作
我找到了这个 link 但它适用于 VS 2015 及以下版本和 MS-Build:
Build another project by prebuild event without adding reference
how can I do this with post build event and dotnet msbuild
您可以在项目A的post构建事件中添加构建任务和复制任务来实现您的要求:
"$(MSBuildBinPath)\MSBuild.exe" "$(SolutionDir)ProjectB\ProjectB.csproj"
xcopy.exe "$(SolutionDir)ProjectB\bin\Debug\netcoreapp1.1\ProjectB.dll" "$(SolutionDir)ProjectA\bin\Debug\netcoreapp1.1"
如果项目B的bin文件夹下有多个程序集,也可以使用通配符复制程序集,如
xcopy.exe "$(SolutionDir)ProjectB\bin\Debug\netcoreapp1.1\*.dll
希望对您有所帮助。
以下是对我有用的方法。它来自:https://github.com/dotnet/sdk/issues/677
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="if not exist $(OutDir)..\..\..\..\build mkdir $(OutDir)..\..\..\..\build" />
<Exec Command="copy $(OutDir)$(TargetName).dll $(OutDir)..\..\..\..\build$(TargetName).dll /Y" />
<Exec Command="copy $(OutDir)$(TargetName).pdb $(OutDir)..\..\..\..\build$(TargetName).pdb /Y" />
</Target>
我有项目 A
,它依赖于项目 B
,但没有从 B
到 A
的引用。我想在项目 B
的 bin folder
中构建程序集并将其复制到项目 A
的 bin folder
中。我如何使用 post 构建事件和 dotnet msbuild
.
我找到了这个 link 但它适用于 VS 2015 及以下版本和 MS-Build:
Build another project by prebuild event without adding reference
how can I do this with post build event and dotnet msbuild
您可以在项目A的post构建事件中添加构建任务和复制任务来实现您的要求:
"$(MSBuildBinPath)\MSBuild.exe" "$(SolutionDir)ProjectB\ProjectB.csproj"
xcopy.exe "$(SolutionDir)ProjectB\bin\Debug\netcoreapp1.1\ProjectB.dll" "$(SolutionDir)ProjectA\bin\Debug\netcoreapp1.1"
如果项目B的bin文件夹下有多个程序集,也可以使用通配符复制程序集,如
xcopy.exe "$(SolutionDir)ProjectB\bin\Debug\netcoreapp1.1\*.dll
希望对您有所帮助。
以下是对我有用的方法。它来自:https://github.com/dotnet/sdk/issues/677
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="if not exist $(OutDir)..\..\..\..\build mkdir $(OutDir)..\..\..\..\build" />
<Exec Command="copy $(OutDir)$(TargetName).dll $(OutDir)..\..\..\..\build$(TargetName).dll /Y" />
<Exec Command="copy $(OutDir)$(TargetName).pdb $(OutDir)..\..\..\..\build$(TargetName).pdb /Y" />
</Target>