Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как получить аналог C# new XmlDsigC14NTransform()

Как получить аналог C#  new XmlDsigC14NTransform()
Я
   DES
 
11.06.21 - 19:33
Как получить доступ к методу C# из 1с8 или к аналогу?
   DES
 
1 - 11.06.21 - 20:02
Думаю как получить хеш от файла XML
   DES
 
2 - 11.06.21 - 20:03
нужно реализовать

XmlDsigC14NTransform c14N = new XmlDsigC14NTransform();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(content);
c14N.LoadInput(xmlDoc);
try
{
hash = c14N.GetDigestedOutput(new SHA1Managed());
}
   Asmody
 
3 - 11.06.21 - 22:29
https://infostart.ru/1c/articles/448668/
И остальные статьи Serginio1
   DES
 
4 - 11.06.21 - 23:43
пытаюсь сделать сначала консольное приложение NET 5
беру пример из https://docs.microsoft.com/ru-ru/dotnet/api/system.security.cryptography.xml.xmldsigexcc14ntransform?view=net-5.0

сборка дает ошибку
1>Program.cs(66,9,66,18): error CS1069:
Не удалось найти имя типа "SignedXml" в пространстве имен "System.Security.Cryptography.Xml". Этот тип был отправлен в сборку "System.Security.Cryptography.Xml, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". Попробуйте добавить ссылку на эту сборку.

как понять ?
предлагает добавить ссылку по которой сам же не находит определение !
   Serginio1
 
5 - 12.06.21 - 11:11
   DES
 
6 - 12.06.21 - 11:15
(5) делаю  копипасте в Visual Studio 2019 Community на Windows 10
получаю
Повторная сборка начата…
1>------ Перестроение всех файлов начато: проект: My_Test_XML_hash, Конфигурация: Debug Any CPU ------
Восстановлен C:\Users\1\source\repos\My_Test_XML_hash\My_Test_XML_hash\My_Test_XML_hash.csproj (за 319 ms).
1>C:\Users\1\source\repos\My_Test_XML_hash\My_Test_XML_hash\Program.cs(65,9,65,18): error CS1069: Не удалось найти имя типа "SignedXml" в пространстве имен "System.Security.Cryptography.Xml". Этот тип был отправлен в сборку "System.Security.Cryptography.Xml, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". Попробуйте добавить ссылку на эту сборку.
1>C:\Users\1\source\repos\My_Test_XML_hash\My_Test_XML_hash\Program.cs(65,35,65,44): error CS1069: Не удалось найти имя типа "SignedXml" в пространстве имен "System.Security.Cryptography.Xml". Этот тип был отправлен в сборку "System.Security.Cryptography.Xml, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". Попробуйте добавить ссылку на эту сборку.
1>C:\Users\1\source\repos\My_Test_XML_hash\My_Test_XML_hash\Program.cs(71,9,71,18): error CS1069: Не удалось найти имя типа "Reference" в пространстве имен "System.Security.Cryptography.Xml". Этот тип был отправлен в сборку "System.Security.Cryptography.Xml, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". Попробуйте добавить ссылку на эту сборку.
1>C:\Users\1\source\repos\My_Test_XML_hash\My_Test_XML_hash\Program.cs(71,35,71,44): error CS1069: Не удалось найти имя типа "Reference" в пространстве имен "System.Security.Cryptography.Xml". Этот тип был отправлен в сборку "System.Security.Cryptography.Xml, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". Попробуйте добавить ссылку на эту сборку.
1>C:\Users\1\source\repos\My_Test_XML_hash\My_Test_XML_hash\Program.cs(75,9,75,43): error CS1069: Не удалось найти имя типа "XmlDsigEnvelopedSignatureTransform" в пространстве имен "System.Security.Cryptography.Xml". Этот тип был отправлен в сборку "System.Security.Cryptography.Xml, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". Попробуйте добавить ссылку на эту сборку.
1>C:\Users\1\source\repos\My_Test_XML_hash\My_Test_XML_hash\Program.cs(75,54,75,88): error CS1069: Не удалось найти имя типа "XmlDsigEnvelopedSignatureTransform" в пространстве имен "System.Security.Cryptography.Xml". Этот тип был отправлен в сборку "System.Security.Cryptography.Xml, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". Попробуйте добавить ссылку на эту сборку.
1>C:\Users\1\source\repos\My_Test_XML_hash\My_Test_XML_hash\Program.cs(115,9,115,18): error CS1069: Не удалось найти имя типа "SignedXml" в пространстве имен "System.Security.Cryptography.Xml". Этот тип был отправлен в сборку "System.Security.Cryptography.Xml, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". Попробуйте добавить ссылку на эту сборку.
1>C:\Users\1\source\repos\My_Test_XML_hash\My_Test_XML_hash\Program.cs(115,35,115,44): error CS1069: Не удалось найти имя типа "SignedXml" в пространстве имен "System.Security.Cryptography.Xml". Этот тип был отправлен в сборку "System.Security.Cryptography.Xml, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". Попробуйте добавить ссылку на эту сборку.
1>Сборка проекта "My_Test_XML_hash.csproj" завершена с ошибкой.
========== Перестроение всех проектов: успешно: 0, с ошибками: 1, пропущено: 0 ==========
   DES
 
7 - 12.06.21 - 11:15
VS не  тот?
   Serginio1
 
8 - 12.06.21 - 11:20
Тебе точно не на этот сайт!
если плохо с английским
https://ru.stackoverflow.com/
http://rsdn.org/

Ну ставь последнюю 10.1 и в Целевая рабочая среда .NET 5.0
и установи если не установлена
   DES
 
9 - 12.06.21 - 12:01
(8) поясни, должен ли пример компилироваться без ошибок?
Или имеется ввиду что какие то определения ясны по умолчанию? (мол добавьте сами)
   DES
 
10 - 12.06.21 - 12:01
(8) я поставил последнюю из их сайта
   Asmody
 
11 - 12.06.21 - 12:32
(9) а ты думал в сказку попал? "Взрослые" языки – это боль и страданиек
   Serginio1
 
12 - 12.06.21 - 12:55
А ты в нугетах System.Security.Cryptography.Xml установил?
   DES
 
13 - 12.06.21 - 15:12
(12) Спасибо
   DES
 
14 - 12.06.21 - 15:51
а  как byte[20] = 157 187 72 143 ... 230
преобразовать в строку ?
   DES
 
15 - 12.06.21 - 19:31
а  почему не доступна галка 
Регистрация для COM-взаимодействия  на VS2019 ?
http://prntscr.com/156341y
   Serginio1
 
16 - 13.06.21 - 12:36
https://docs.microsoft.com/ru-ru/dotnet/core/native-interop/expose-components-to-com

Не на том форуме пишешь. Я сюда редко захожу, а кроме меня как видишь мало кто отвечает
   Serginio1
 
17 - 13.06.21 - 12:44
   DES
 
18 - 13.06.21 - 16:10
А  НЕТ КОРЕ отличается от NET 5?
это разные сущности?
   DES
 
19 - 13.06.21 - 16:11
для 1с8 нужен нет фрейворк или net 5 тоже  ?
   DES
 
20 - 13.06.21 - 16:14
создал новый проект на net5.0

все удалил, добавил

//1. подключаем необходимые пространства имен

using System;
using System.Runtime.InteropServices;

//2. описываем наше пространство имен, собственно так и будет называется наш COM-объект

namespace HowToComObjectFor1C
{
//3. объявляем интерфейс для класса, создаем GUID с помощью утилиты "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\guidgen.exe" поясняю, запускаем утилиту устанавливаем значение на п.4 нажимаем Copy переносим в наш код:
    [Guid("7744AACB-9194-46bf-81AF-9DA73EE687DC")]
    internal interface IMyClass
    {
        [DispId(1)]
//4. описываем методы которые можно будет вызывать из вне
        string PrintIn1C(string mymessage);
      }

//5. определим интерфейс для COM-событий(GUID получаем и записываем с помощью утилиты guidgen.exe)

    [Guid("77DD7E62-7D82-4301-993C-B7D919430990"), InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
    public interface IMyEvents
    {
    }

//6. описываем класс реализующий интерфейсы(GUID получаем и записываем с помощью утилиты guidgen.exe)

    [Guid("77EE0677-884A-4eeb-A3BD-D407844C0C70"), ClassInterface(ClassInterfaceType.None), ComSourceInterfaces(typeof(IMyEvents))]
    public class MyClass : IMyClass//название нашего класса MyClass
    {
         public string PrintIn1C(string mymessage)
        {
            return mymessage;
        }  
    }
}

все создается без ошибок, но не регистрируется regasm
пишет  нет каких то ссылок на модули
   DES
 
21 - 13.06.21 - 16:16
(16) а на какой не редко?
   DES
 
22 - 13.06.21 - 21:46
Может кто то скинуть простейший пример COM dll ?
с  одной функцией
   Serginio1
 
23 - 14.06.21 - 14:32
.Net 5 это продолжение .Net Core
(19) Зависит от того как скомпилируешь с зависимостями или без.
Но https://docs.microsoft.com/ru-ru/dotnet/core/native-interop/expose-components-to-com#sample

Автономные развертывания COM-компонентов не поддерживаются. Поддерживаются только зависящие от платформы развертывания COM-компонентов.

Посмотри примеры https://github.com/dotnet/samples/tree/main/core/extensions/COMServerDemo
Только выбери .Net 5
(20) Читай ссылки которые я даю. Какой regasm?
https://docs.microsoft.com/ru-ru/dotnet/core/native-interop/expose-components-to-com#generate-the-com-host
Регистрация узла COM для модели COM
Откройте командную строку с повышенными привилегиями и запустите regsvr32 ProjectName.comhost.dll. Это приведет к регистрации всех предоставленных объектов .NET в модели COM.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.