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