Настройка C #, которая работает аналогично VS C ++ / ASSEMBLYLINKRESOURCE - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть следующий сценарий:

  • C # проект A использует неуправляемую dll через p / invoke: [DllImport("someUnmanaged.dll")]
  • проект A настроен для копирования "someUnmanaged.dll "в папку bin проекта при компиляции.Это прекрасно работает.

  • C # Проект B, C и D все ссылаются на A. Но они не копируют автоматически неуправляемую dll.Я должен настроить каждый из этих проектов для копирования неуправляемых DLL.

  • Итак, если другой разработчик хочет использовать мой projectA.dll, он должен точно знать, какие неуправляемые dll для копирования и как настроить свой проект VS.

Если проект A является управляемым проектом c ++ / cli вместо ac # project, я могу использовать /ASSEMBLYLINKRESOURCE "...\someUnmanaged.dll", чтобы указать компилятору всегда копировать someUnmanaged.dll всякий раз, когда он копирует projectA.dll.

(это настройка в свойствах конфигурации -> компоновщик -> ресурс ссылки сборки)

/ASSEMBLYLINKRESOURCE каким-то образом аннотирует projectA.dll, так что, когда на эту DLL ссылаются в другом проекте,Visual Studio будет также автоматически искать someUnmanaged.dll и копировать оба во время компиляции.

Как я могу получить эту функциональность в проекте ac #?

...