0

J'ai le projet A qui a la dépendance sur le projet B mais il n'y a aucune référence de B à A. Je veux construire et copier des assemblées dans bin folder du projet B à bin folder du projet A. comment puis-je faire cela avec l'événement post-construction et dotnet msbuild.Construire le projet de base de .net par l'événement de postbuild dans le studio visuel 2017

J'ai trouvé ce lien, mais cela fonctionne pour VS 2015 et au-dessous et MS-construction:

Build another project by prebuild event without adding reference

+0

et ce problème? Voulez-vous s'il vous plaît laissez-moi savoir les dernières informations sur ce problème? –

+0

@ Leo-MSFT votre solution fonctionne parfaitement, merci. –

Répondre

2

comment puis-je faire avec l'événement post construction et dotnet msbuild

Vous pouvez ajouter Créer la tâche et copier la tâche dans l'événement post-construction du projet A pour réaliser votre requête:

"$(MSBuildBinPath)\MSBuild.exe" "$(SolutionDir)ProjectB\ProjectB.csproj" 
xcopy.exe "$(SolutionDir)ProjectB\bin\Debug\netcoreapp1.1\ProjectB.dll" "$(SolutionDir)ProjectA\bin\Debug\netcoreapp1.1" 

Si vous avez plusieurs ensembles dans le dossier bin du projet B, vous pouvez également utiliser le Wildcard pour copier les assemblées, comme

xcopy.exe "$(SolutionDir)ProjectB\bin\Debug\netcoreapp1.1\*.dll

espère que cela peut vous aider.

4

Voici ce qui a fonctionné pour moi. Il vient de: 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>