ссылки и сохранение строгого имени извне для повторного использования - PullRequest
1 голос
/ 27 сентября 2010

У меня есть много сборок, которые установили InternalsVisibleToAttribute , указывающий одну указанную сборку в одном и том же решении. К сожалению, указанная сборка имеет строгое имя, поэтому мне всегда приходится снова и снова вставлять один и тот же токен открытого ключа в файлы AssemblyInfo.cs. Поскольку в c # нет прекомпилятора, как бы в идеале устранить эту избыточность.

Ответы [ 2 ]

1 голос
/ 27 сентября 2010

У вас есть несколько простых вариантов:

  1. Используйте константу вместо литерала в файлах AssemblyInfo.cs.
  2. Добавьте этот атрибут в общий файл (например, CommonFriendAssemblies.cs), который связан, а не скопирован в ваши отдельные проекты.

# 1 несколько проще в управлении, но имеет неприятный побочный эффект: устранение поддержки IntelliSense для ссылочных внутренних объектов в ссылочном проекте .

# 2 более сложен в управлении, но не мешает поддержке IntelliSense.

0 голосов
/ 27 сентября 2010

возможно, вы могли бы использовать t4

переименовать AssemblyInfo.cs в AssemblyInfo.tt

и добавьте что-то вроде этого

<#@ template language="C#v3.5" hostspecific="True" debug="True" #>
<#@ output extension="cs" #>

[assembly: InternalsVisibleTo("<# Write(System.Reflection.Assembly.GetExecutingAssembly().FullName); #>")]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...