Есть несколько проектов в моем решении, один из которых содержит класс = в основном C# модуль для использования с помощью Power Shell консоли:импортирован с # Командлет не работает
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Management.Automation;
using System.Management;
using EDZ.DAL;
using EDZ.Model;
using System.Collections;
namespace AddUser
{
[Cmdlet(VerbsCommon.Add, "User")]
class AddUser : Cmdlet
{
protected override void ProcessRecord()
{
WriteObject("test string");
}
//public AddUser(IRepository<IEntity> irepo)
//{
// repoUser = (RepositoryBase<User>)irepo;
//}
//RepositoryBase<User> repoUser;
//RepositoryBase<User> repoUser = new RepositoryBase<User>();
//[Parameter(Mandatory = false, Position = 1)]
//public Guid UserID { get; set; }
//[Parameter(Mandatory = false, Position = 2)]
//public string FirstName { get; set; }
//[Parameter(Mandatory = false, Position = 3)]
//public string LastName { get; set; }
//[Parameter(Mandatory = false, Position = 4)]
//public string Title { get; set; }
//[Parameter(Mandatory = false, Position = 5)]
//public string Email { get; set; }
//[Parameter(Mandatory = false, Position = 6)]
//public Guid ExpertId { get; set; }
//[Parameter(Mandatory = false, Position = 7)]
//public Guid IdentityId { get; set; }
//protected override void ProcessRecord()
//{
// //try {
// User user = new User() { FirstName = this.FirstName, LastName = this.LastName, Title = this.Title, Email = this.Email, ExpertId = this.ExpertId, IdentityId = this.IdentityId };
// repoUser.Add(UserID, user);
// //}
// //catch(Exception ex)
// //{
// // WriteObject("something's wrong: " + ex.Message);
// //}
// IEnumerable tempList = repoUser.GetAll();
// foreach(User u in tempList)
// {
// WriteObject(u);
// }
//}
}
}
Что я сделал:
построил решение и скопировать путь к AddUser.dll
открыл консоль PS как администратор
успешно импортировал AddUser.dll -> когда я проверяю его с помощью команды Get-Module, AddUser присутствует в столбце Name. Хотя в столбце ExportedCommands в той же строке ничего нет, может быть, проблема?
Когда я пишу команду Add-User, я ожидаю, чтобы отобразить "тестовую строку", но я получаю эту ошибку:
Add-User: Термин 'Add-User' не распознается как имя командлета, функции, файла сценария или исполняемой программы. Проверьте правильность написания имени, или если включен путь, проверьте правильность пути и повторите попытку. В строке: 1 знак: 1 + Add-User + ~~~~~~~~ + CategoryInfo: ObjectNotFound: (Add-User: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException
Спасибо, человек. Я пытался найти ошибку весь день вчера ... это должна быть самая медленная ошибка, которую я когда-либо делал ... еще раз спасибо. – PaxForce