Создание пакета nuget для добавления ссылки в библиотеку типов - PullRequest
0 голосов
/ 15 февраля 2019

Я хочу создать nuget, который добавляет ссылку на dll в библиотеку типов Visual Studio и .net.Теперь, как правило, вы должны использовать reserve32 nameof.dll, есть ли способ добиться этого с помощью проводника пакетов nuget

Обычно я запускаю эту команду из командной строки администратора

regsvr32 nameof.dll

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
  <metadata>
    <id>MyPackage</id>
    <version>1.0.0</version>
    <title></title>
    <authors>User</authors>
    <owners>User</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>My package description.</description>
  </metadata>
  <files>
    <file src="build\_._" target="build\_._" />
    <file src="content\Sage50ApplicationObject.chm" target="content\Sage50ApplicationObject.chm" />
    <file src="content\SageDataObjects2017.chm" target="content\SageDataObjects2017.chm" />
    <file src="content\SageDataObjectsv24.chm" target="content\SageDataObjectsv24.chm" />
    <file src="content\SageDataObjectsv25.chm" target="content\SageDataObjectsv25.chm" />
    <file src="lib\SdoEng170.tlb" target="lib\SdoEng170.tlb" />
    <file src="lib\SdoEng200.tlb" target="lib\SdoEng200.tlb" />
    <file src="lib\SdoEng220.tlb" target="lib\SdoEng220.tlb" />
    <file src="lib\SdoEng230.tlb" target="lib\SdoEng230.tlb" />
    <file src="lib\SdoEng240.tlb" target="lib\SdoEng240.tlb" />
    <file src="lib\SdoEng250.tlb" target="lib\SdoEng250.tlb" />
    <file src="lib\sg50SdoEngine170.dll" target="lib\sg50SdoEngine170.dll" />
    <file src="lib\sg50SdoEngine200.dll" target="lib\sg50SdoEngine200.dll" />
    <file src="lib\sg50SdoEngine220.dll" target="lib\sg50SdoEngine220.dll" />
    <file src="lib\sg50SdoEngine230.dll" target="lib\sg50SdoEngine230.dll" />
    <file src="lib\sg50SdoEngine240.dll" target="lib\sg50SdoEngine240.dll" />
    <file src="lib\sg50SdoEngine250.dll" target="lib\sg50SdoEngine250.dll" />
   </files>
</package>

Тогда я смогу увидеть его в разделе ссылок com в visual studio, как показано ниже, чтобы помочь мне ускорить не всегда необходимость регистрации этих проектов.

Согласноснимок экрана ниже

enter image description here

Изменить 2

Я нашел этот код, который должен позволить ему обрабатывать командучерез powershell.

param($installPath, $toolsPath, $package, $project)

regsvr32 Join-Path $toolsPath '\mycom.dll' /s

$project.Object.References | Where-Object { $_.Name -eq "MYCOMLib" } |  ForEach-Object { $_.EmbedInteropTypes = $false }

Но где я могу разместить этот код и как я могу настроить его, чтобы учесть все мои библиотеки.Поскольку все они требуют, чтобы regsvr32.dll был вызван.

...