Настраиваемый таргетинг фреймворка в Visual Studio 2010 - PullRequest
15 голосов
/ 28 ноября 2011

Я хочу дать разработчикам, использующим Visual Studio, возможность писать программы для пользовательской среды, которая заменяет .NET (аналогично платформам Windows Phone и Silverlight, которые являются не подмножествами или профилями существующей платформы ) и имеют полную поддержку IntelliSense и все.

Visual Studio 2010 поддерживает многоцелевой таргетинг, при котором вы можете использовать любой фреймворк (например, .NET, Silverlight, Robotics, XNA, Windows Phone и Mono), если у вас установлены соответствующие пакеты таргетинга.

Я обнаружил, что фреймворки обычно имеют некоторые ссылочные сборки, которые они помещают в %programfiles%\Reference Assemblies\Microsoft\Framework вместе с файлом FrameworkList.xml в подпапке RedistList. Я попытался просто создать новую папку, поместив туда мои сборки (например, MyFramework.dll) вместе с подпапкой RedistList, содержащей файл FrameworkList.xml. Я очистил файл, но для одной записи для аналогичных:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<FileList Redist="MyFramework_1_0">
  <File AssemblyName="MyFramework" Version="1.0.0.0"
    PublicKeyToken="be3ea0d08db41157" Culture="neutral"
    ProcessorArchitecture="MSIL" InGAC="false" />
</FileList>

Но Visual Studio не отображает мою платформу в списке доступных платформ при создании нового проекта (после перезапуска VS). Очевидно, я что-то упустил, но я не смог понять, что.

Как создать такой пакет таргетинга, который позволит Visual Studio видеть пользовательскую платформу или что-то подобное? Что обычно входит в пакет таргетинга? Можно ли добавить пользовательские этапы сборки?

Ответы [ 3 ]

1 голос
/ 21 апреля 2012

Как говорит Саймон, Visual Studio также использует реестр для загрузки компонентов.

Многие люди сделали то, что вы говорите, например, попробуйте спросить http://www.springframework.net.

С другой стороны,если вы просто хотите добавить свои собственные библиотеки в существующую платформу, прочитайте эту статью http://msdn.microsoft.com/en-us/library/ee722096.aspx

1 голос
/ 28 ноября 2011

Я думаю, что Visual Studio сначала просматривает реестр, особенно в этом ключе: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework (или HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework на 64-битных системах)

Вы найдете кучуиз интересных подразделов, некоторые из них на самом деле указывают на папки program files\referenced assemblies.

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

Вы на трассе. Проблема заключается в том, что диалоговое окно «Новый проект» имеет известное ограничение, в котором перечислены только платформы на основе .NET Framework.

Windows Phone, Silverlight и Portable все реализуют это на стороне шаблона. По сути, они имеют шаблон, который предварительно устанавливает свойство TargetFrameworkIdentifier MSBuild. Например, MyCustomFramework, где MyCustomFramework - это имя платформы в папке Microsoft \ Framework.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...