Проверить это сообщение . Я почти уверен, что именно это я использовал при настройке нашего процесса развертывания здесь.
Нам нужно включить не .net dll в каталог bin, чтобы наше приложение работало, они уже собраны, поэтому у меня нет вашей проблемы «нужно сначала собрать». Однако я включаю 'include' как часть цели BeforePublish :
<Target Name="BeforePublish" DependsOnTargets="IncludeAdditionalPublishFiles;
ReleaseModeUpdateConfig;
ReleaseModeInsertDatabaseRecords " />
<ItemGroup>
<AdditionalPublishFile Include="..\..\..\..\..\SharedDependencies\Leadtools\Leadtools.Codecs.J2k.dll">
<Visible>False</Visible>
</AdditionalPublishFile>
</ItemGroup>
<Target Name="IncludeAdditionalPublishFiles" Condition=" '$(Configuration)' == 'Release' And Exists('@(IntermediateAssembly)') " >
<Touch Files="@(IntermediateAssembly)" />
<CreateItem Include="@(AdditionalPublishFile)" AdditionalMetadata="TargetPath=%(FileName)%(Extension);IsDataFile=false">
<Output TaskParameter="Include" ItemName="_DeploymentManifestFiles" />
</CreateItem>
</Target>
Как вы можете видеть, IncludeAdditionalPublishFiles выполняет работу над включением (проверьте сообщение в блоге на предмет «что, черт возьми, здесь происходит»), я также обновляю конфигурацию и устанавливаю некоторые значения в SQL Compact Db.
Требуется немного проб и ошибок, чтобы понять это правильно, но работает в конце. Обратите внимание, что вы можете добавить столько AdditionalPublishFile, сколько хотите.