Я программирую надстройку для scvmm и понятия не имею, почему это происходит:
Это моя нескомпилированная надстройка.dll:
[AddIn("Backup HyperV VM")]
public class BackupHyperVVM : ActionAddInBase
{
public override bool CheckIfEnabledFor(IList<ContextObject> contextObjects)
{
if (contextObjects != null && contextObjects.Count > 0)
return true;
return false;
}
public override void PerformAction(IList<ContextObject> contextObjects)
{
}
private void execPSS(string param) //Execute a powershell script within the SCVMM -- need to make shure I run it on the right host
{
PowerShellContext.ExecuteScript<ServerConnection>(param,
(items, error) =>
{
//code to set server info here
if (error == null)
{
//on Success
}
else
{
//on Error
}
});
}
}
А это manifest.xml:
<ConsoleAddIn
xmlns="urn:VMM-AddIns-v1-CTP"
Name="VMM Backup Add-In"
Version="0.0.1.0"
Author="..."
Description="This Add-In (once finished) provides the user with a GUI solution to backup and restore VMs from a Hyper-V host."
FolderName="BackupAddIn"
TrustLevel="Full">
<ActionAddIn
Name="Backup VMs Add-In"
Contexts="Cluster"
AssemblyName="add-in.dll"
ShowInContextMenu = "True"
ActionType="Code"
Icon="Ico.ico">
<ButtonLabel>
Backup VM
</ButtonLabel>
</ActionAddIn>
</ConsoleAddIn>
Когда я архивирую файлы и пытаюсь загрузить надстройку, я получаю эту ошибку (я перевел ее с немецкого):
Компонент надстройки «Надстройка резервного копирования виртуальных машин» не может быть найден в «надстройке» сборки. Возможные причины: 1. Атрибут «Имя» надстройки не соответствует имени, определенному в атрибуте «AddIn» в классе надстройки. 2. Класс надстройки не является общедоступным.
Спасибо за вашу помощь. Я понятия не имею, как это решить, даже документы не смогли мне помочь.