Я делаю свою первую DLL, простую функцию HelloWorld SharePoint.
Функция имеет обработчик событий, поэтому код находится рядом с файлом feature.xml и elements.xml.
Я могу построить решение отлично, и у меня есть скрипт пост-сборки, который вызывает gacutil.exe.
Затем я добавил ключевой файл, выбрал случайное имя и добавил решение.
В файле feature.xml у меня есть:
ReceiverAssembly="HelloWorld, Version 1.0.0.0, Culture=neutral, PublicKeyToken=b59ad8f489c4a334"
ReceiverClass="HelloWorld.FeatureReceiver"
Я составил значение в PublicKeyToken.
Функция не будет установлена, я получаю:
Не удалось установить функцию 'b2cb42e2-4f0a-4380-aaba-1ef9cd526f20', поскольку не удалось загрузить сборку приемника событий "HelloWorld, версия 1.0.0.0, Culture = нейтральный, PublicKeyToken = b59ad8f489c4a334": System.IO.FileLoadException: Не удалось загрузить файл или сборку "HelloWorld \, версия 1.0.0.0 \, Culture \ = нейтральный \, PublicKeyToken \ = b59ad8f489c4a334" или одну из ее зависимостей. Указанное имя сборки или кодовая база недопустимы. (Исключение из HRESULT: 0x80131047)
Имя файла: 'HelloWorld \, Версия 1.0.0.0 \, Культура \ = нейтральный \, PublicKeyToken \ = b59ad8f489c4a334'
в System.Reflection.AssemblyName.nInit (Сборка и сборка, логическое значение для интроспекции, логическое повышение значенияResolveEvent)
в System.Reflection.Assembly.InternalLoad (строка String AssemblyString, Свидетельство AssemblySecurity, StackCrawlMark & stackMark, логическое значение для интроспекции)
в System.Reflection.Assembly.Load (String assemblyString)
в Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject ()
Поскольку я понятия не имею, что происходит с файлом ключа / подписью, я думаю, что я делаю что-то не так, например, должна ли быть какая-то связь между именем файла ключа и информацией в функции. XML-файл?