Ошибка System.Runtime при использовании настраиваемого WixExtension - PullRequest
0 голосов
/ 14 июля 2020

Для моего проекта я хочу добавить к нему установщик WiX. Установщик устанавливает веб-приложение Typescript в IIS, которое работает. Но он поставляется с конфигурацией по умолчанию, которую я не хочу использовать в производственной среде, поскольку она зависит от среды. Я добавил экран в пользовательский интерфейс WiX, чтобы ввести детали и все остальное. Но поскольку конфигурация представляет собой файл JSON, мне нужно было создать WixExtension, который обновляет файл.

Я начал с консольного приложения, которое гарантировало его работу и предоставило достойную обратную связь, а затем преобразовал его в WiXExtension. Поскольку у меня есть доступ только к VS Code и ядру tnet, я создал все в ядре do tnet. Но при добавлении файла в свечу я получаю ошибку, что свеча не может найти System.Runtime. Установлен полный SDK do tnet core. Что я делаю не так?

Команда, которую я использую для свечи: "%wix%bin\candle" *.wxs -o obj\ -nologo -ext WixIIsExtension -ext WiXUIExtension -ext TextReplacerWixExtension.dll -ddistFolder="..\ClientApp\dist"

Ошибка, которую я получаю от Candle:

candle.exe : error CNDL0001 : Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

Exception Type: System.IO.FileNotFoundException

Stack Trace:
   at System.ModuleHandle.ResolveType(RuntimeModule module, Int32 typeToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount, ObjectHandleOnStack type)
   at System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule module, Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)
   at System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
Inheritable, Object[] attributes, IList derivedAttributes, RuntimeType& attributeType, IRuntimeMethodInfo& ctor, Boolean& ctorHasParameters, Boolean& isVarArg)
   at System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttributeRecord caRecord, MetadataImport scope, Assembly& lastAptcaOkAssembly, RuntimeModule decoratedModule, MetadataToken decoratedToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, Object[] attributes, IList derivedAttributes, RuntimeType& attributeType, IRuntimeMethodInfo& ctor, Boolean& ctorHasParameters, Boolean& isVarArg)
   at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent)
   at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeAssembly assembly, RuntimeType caType)
   at System.Reflection.RuntimeAssembly.GetCustomAttributes(Type attributeType, Boolean inherit)
   at System.Attribute.GetCustomAttributes(Assembly element, Type attributeType, Boolean inherit)
   at System.Attribute.GetCustomAttribute(Assembly element, Type attributeType, Boolean inherit)
   at Microsoft.Tools.WindowsInstallerXml.WixExtension.Load(String extension)
   at Microsoft.Tools.WindowsInstallerXml.Tools.Candle.Run(String[] args)

Что мне не хватает? Могу ли я даже создать WixExtension в ядре do tnet? WixExtension строится без каких-либо проблем. Я еще не добавил код в файл .wxs, он уже вылетает при добавлении его в компоновщик. Я просмотрел это руководство , чтобы создать расширение.

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