Сборка, а затем установка надстройки VSI приводит к "одному или нескольким элементам содержимого, содержащимся в.vscontent"

У меня есть существующий проект, который создает VSI в качестве вывода. Проект прекрасно работает для версий Visual Studio 2005, 2008 и 2010.

Я хочу добавить поддержку Visual Studio 2013.

Я создал новую папку установки VS2013 и поместил в нее копии.AddIn и.vscontent с 2010 года.

Согласно этой странице, номер ContentVersion для Visual Studio 2013 должен остаться прежним, а именно 2.0. На этой странице есть ошибка, поскольку в раскрывающемся списке вверху указана ссылка на 2013 год, однако текст "Текстовое значение" подходит только к 2012 году со значением 2,0. Я изменил номер версии для Visual Studio в модуле.AddIn на 12.0, а затем собрал. Я столкнулся со следующей ошибкой:

один или несколько элементов содержимого, содержащихся в.vscontent, не могут быть установлены, поскольку не найдена правильная версия компонента установщика содержимого.

Есть ли другой файл для изменения? Источник двух модулей ниже.

.vscontent
<?xml version="1.0" encoding="utf-8" ?>
<VSContent xmlns="http://schemas.microsoft.com/developer/vscontent/2005">
  <Content>
    <FileName>BuildVersionIncrement.Addin</FileName>
    <FileName>BuildVersionIncrement.dll</FileName>
    <DisplayName>Build Version Increment Addin</DisplayName>
    <Description>Auto increments the build number of all projects of current solution.</Description>
    <FileContentType>Addin</FileContentType>
    <ContentVersion>2.0</ContentVersion>
  </Content>
</VSContent>

.AddIn
<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<Extensibility xmlns="http://schemas.microsoft.com/AutomationExtensibility">
    <HostApplication>
        <Name>Microsoft Visual Studio</Name>
        <Version>12.0</Version>
    </HostApplication>
    <Addin>
        <FriendlyName>BuildVersionIncrement</FriendlyName>
        <Description>Auto increments the build version of .net projects.</Description>
        <Assembly>BuildVersionIncrement.dll</Assembly>
        <FullClassName>BuildVersionIncrement.Connect</FullClassName>
        <LoadBehavior>5</LoadBehavior>
        <CommandPreload>1</CommandPreload>
        <CommandLineSafe>1</CommandLineSafe>
    </Addin>
</Extensibility>

1 ответ

Ответ прост: приведенный выше код для VS2013 работать не будет. Visual Studio 2013 и выше используют новый формат, называемый VSPackage.:-(

Другие вопросы по тегам