Я хочу дать разработчикам, использующим 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 видеть пользовательскую структуру или что-то, что имеет тот же эффект? Что обычно включено в пакет таргетинга? Можно добавить пользовательские шаги сборки?