Место хранения dll

Sparrow44

При компиляции студия переносит dll библиотеки в папку bin\Debug\ к файлу .exe, как заставить ее хранить dll в другом месте например bin\Debug\Lib\ ?
7 ответов

Sparrow44

Вам гуглить в сторону GAC у Троелсена что-то такое было


Sparrow44

Sparrow44, вручную скопировать dll куда нужно, и из студии сделать уже на скопированный dll ссылку.


Sparrow44

Sparrow44, вручную скопировать dll куда нужно, и из студии сделать уже на скопированный dll ссылку.
ну тогда уж наверно можно указать в свойствах библиотечного проекта "построение" путь вывода на ту самую папку \bin\Debug\lib и уже на нее слылаться


Sparrow44

вручную скопировать dll куда нужно, и из студии сделать уже на скопированный dll ссылку.
Даже если я так сделаю, то при первое компиляции студия снова скопирует их в каталог к файлу .exe
ну тогда уж наверно можно указать в свойствах библиотечного проекта "построение" путь вывода на ту самую папку \bin\Debug\lib и уже на нее ссылаться
Это если меня проект есть, а если я использую готовую библиотеку ?


Sparrow44

а нет, так все равно копирует при сборке


Sparrow44

Виберите ссылку в проекте, и в свойствах сделайте LocalCopy=false (Копировать локально = false)


Sparrow44

app.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    ...
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <probing privatePath="bin" />
        </assemblyBinding>
    </runtime>
    ...
</configuration>
в файле проекта *.csproj
...
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target>
  -->
  <Target Name="AfterBuild" Condition="">
    <CreateItem Include="$(OutputPath)*.dll">
      <Output TaskParameter="Include" ItemName="Binaries" />
    </CreateItem>
    <CreateItem Include="$(OutputPath)*.xml">
      <Output TaskParameter="Include" ItemName="Xmls" />
    </CreateItem>
    <Move SourceFiles="@(Binaries)" DestinationFolder="$(OutputPath)\bin" />
    <Move SourceFiles="@(Xmls)" DestinationFolder="$(OutputPath)\bin" />
  </Target>
...
bin\Debug\Lib\
в приведенных мною фрагментах bin меняем на Lib