ClickOnce - Файл уже существует Ошибка - Почему файл DLL пытается дважды скопировать с помощью ClickOnce?

Проверяет ли ClickOnce только манифест приложения файл, чтобы определить, какие файлы DLL копировать на клиентский компьютер, или он также опрашивает внутренние компоненты сборки для определения файлов зависимостей?

Я спрашиваю, потому что я получаю указанную ниже ошибку ClickOnce при попытке запуска приложение WPF .NET 4, опубликованное с помощью ClickOnce: Файл C: \ Users \ CNelson \ AppData \ Local \ Temp \ Deployment \ PGX6P33A.35N \ AJQL8AC8.D60 \ tx16_rtf.dll уже существует.

Эта ошибка возникла после того, как я добавил ссылку к двум сторонним библиотекам .NET, которые обе ссылаются на неуправляемый файл dll (tx16_rtf.dll). Я хочу, чтобы tx16_rtf.dll был скопирован в папку bin на клиентском ПК, поэтому я включил его в свой проект и установил для действия сборки значение «Содержимое», а для параметра «Копировать в выходной каталог» значение «Всегда копировать».

Однако, по какой-то причине, когда я пытаюсь запустить приложение, ClickOnce пытается дважды скопировать файл 'tx16_rtf.dll', что приводит к ошибке.

Если я смотрю файл манифеста развертывания, я ясно вижу одну и только одну запись для файла tx16_rtf.dll. Итак, у меня вопрос, почему ClickOnce пытается дважды скопировать файл tx16_rtf.dll, если он существует только один раз в файле манифеста развертывания?

Ниже приведен фрагмент файла манифеста развертывания, который ссылается на tx16_rtf.dll:

  <file name="tx16_rtf.dll" size="839680">
    <hash>
      <dsig:Transforms>
        <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
      </dsig:Transforms>
      <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
      <dsig:DigestValue>V6i2QcARl3+1SJHCugoazb9zrOY=</dsig:DigestValue>
    </hash>
  </file>
19
задан Jens 13 February 2015 в 11:01
поделиться