1

У меня есть приложение для Windows Phone 8, которое я переношу на Windows-10. Приложение используется. vsix расширения для Windows Phone 8, поэтому я пытаюсь создать аналогичный. vsix расширение для универсального приложения Windows.
Моего файл SDKManifest.xml выглядит следующим образом:Не удалось создать расширение vsix для приложения Universal Windows

<?xml version="1.0" 
> encoding="utf-8" ?> <FileList Identity = "XXX.UWP" Version = 
> "1.0" DisplayName = "XXX Universal Windows SDK" 
> TargetPlatform="UAP" MinVSVersion = "14.0" SDKType="External" 
> SupportedArchitectures = "x64;ARM" SupportsMultipleVersions = "Error" 
> TargetPlatformMinVersion="10.0.10069.0" 
> TargetPlatformVersion="10.0.10069.0"> <File 
> Reference="XXX.winmd" 
> Implementation="XXX.dll"/> </FileList> 


Моего VSIX файл манифест

<PackageManifest Version="2.0.0" 
xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011"> 
<Metadata> 
    <Identity 
Id="XXX.UWP" 
Version="1.0" 
Language="en-US" 
Publisher="XXX Inc" /> 
    <DisplayName>XXX SDK for Universal Windows</DisplayName> 
    <Description>XXX SDK</Description> 
    <License>license.txt</License> 
    </Metadata> 
    <Installation AllUsers="true" Scope="Global"> 
<InstallationTarget Id="Microsoft.ExtensionSDK" 
TargetPlatformIdentifier="Windows Kits" 
TargetPlatformVersion="10" 
SdkName="XXXSDK.UWP" 
SdkVersion="1.0" /> 
    </Installation> 
    <Assets> 
    <Asset Type="Microsoft.ExtensionSDK" Path="SDKManifest.xml" /> 
    </Assets> 
</PackageManifest> 

Я все эти XML-файлы вместе с необходимыми библиотеками DLL в папке говорит "myVsix ". Затем я пронестись эту папку созидатель «myVsix.zip»
Тогда я переименовать это «myVsix.vsix», чтобы создать файл .vsix.
Когда я пытаюсь установить это, дважды щелкнув файл, я получаю следующую ошибку:
Этот пакет VSIX недействителен, поскольку он не содержит файл extension.vsixmanifest в корне. Файл VSIX может быть поврежден.


Это журнал ошибок:

3/3/2016 5:46:30 PM - Microsoft VSIX Installer 
3/3/2016 5:46:30 PM - ------------------------------------------- 
3/3/2016 5:46:30 PM - Initializing Install... 
3/3/2016 5:46:30 PM - Microsoft.VisualStudio.ExtensionManager.MissingPackagePartException: This VSIX package is invalid because it does not contain the file extension.vsixmanifest at the root. The VSIX file may be corrupted. 
    at Microsoft.VisualStudio.ExtensionManager.InstallableExtensionImpl.ReadVSIXManifestFromPackage(Stream vsixStream, CultureInfo preferredCulture) 
    at Microsoft.VisualStudio.ExtensionManager.InstallableExtensionImpl..ctor(String path, CultureInfo preferredCulture) 
    at VSIXInstaller.App.InitializeInstall(Boolean isRepairSupported) 
    at VSIXInstaller.App.InitializeInstall() 
    at System.Threading.Tasks.Task.InnerInvoke() 
    at System.Threading.Tasks.Task.Execute() 

ответ

1

кажется, что Visual Studio не может найти или прочитать файл .vsixmanifest. Это должно быть неправильно, или что-то еще не так.

Вместо создания файла VSIX вручную, вы должны создать его с помощью визуального шаблона студии VSIX Project:

VSIX Project template

Если вы не можете найти его в Visual Studio копии, необходимо изменить установку и включить инструментов Visual Studio: расширения среды

Visual Studio Extensibility Tools

Это автоматически создаст правильную базовую структуру VSIX и даже редактор в Visual Studio для редактирования манифеста, который должен сделать его намного проще и удобнее для создания действующего VSIX.

VSIX manifest editor

+0

Привет @DamirArh, Большое спасибо за ваш ответ. Я могу создать и использовать расширение .vsix, если я его создаю с помощью VS GUI (графический интерфейс пользователя). Я больше заинтересован в создании этого расширения вручную. Наша система сборки автоматизирована и поэтому мы не можем использовать VS GUI для создания этих расширений. Наша система сборки просто копирует все необходимые ресурсы, необходимые для создания расширения в папку, застегивает ее и затем переименовывает в .vsix. Я пробовал тот же процесс, к сожалению, он не работает в Windows-10 с VS-2015. –

+0

Я думаю, вы могли бы попробовать сравнить оба файла vsix и посмотреть, где разница, из-за которой ручная работа не работает.С другой стороны, вы, вероятно, должны иметь возможность «скомпилировать» проект, созданный в VS на сервере сборки. Со всеми битами, установленными на сервере сборки, вы должны иметь возможность создавать файл проекта с помощью MSBuild, используя любую систему сборки, которую вы можете использовать. –

Смежные вопросы