Невозможно скомпилировать функцию c# dll с microsoft.azure.workflows.webjobs.sdk в Visual Studio 2022C#

Место общения программистов C#
Ответить
Anonymous
 Невозможно скомпилировать функцию c# dll с microsoft.azure.workflows.webjobs.sdk в Visual Studio 2022

Сообщение Anonymous »

У нас есть приложение LogicApp с функцией DLL, чтобы включить C# код.
он работает без проблем. Все было в порядке в визуальном коде и Visual Studio. < /P>
Но после того, как мы добавили ссылку на проект в функцию DLL, мы получили странную ошибку сборки в Visual Studio: < /p>

C: \ users .nuget \ packages \ microsoft.azure.workflows.webjobs.sdk \ 1.2.0 \ build \ tools \ net8.0 \ microsoft.azure.functions.extensions.workflows.sdk.buildtasks.dll. Не удалось найти часть пути 'c: \ users .nuget \ packages \ microsoft.azure.workflows.webjobs.sdk \ 1.2.0 \ build \ tools \ net8.0'. Убедитесь, что объявление верно, что сборка и все ее зависимости доступны, и что задача содержит открытый класс, который реализует Microsoft.build.framework.itask. < /P>
< /blockquote>
Все в порядке в коде Visual Studio. < /P>
, конечно, у нас есть все файлы в < /p>

, конечно, у нас есть все файлы в < /p>
, конечно, у нас есть все файлы в < /p>

.C:\Users\\.nuget\packages\microsoft.azure.workflows.webjobs.sdk\1.2.0\build\tools\net8.0
< /code>
Наша функция DLL Project: < /p>


false
net8
v4
Library
AnyCPU
$(MSBuildProjectDirectory)\..\cus-02
Always
false












< /code>
Мы создали пустое приложение для консоли .net 8.0 и просто добавили этот пакет Nuget: < /p>
Microsoft.Azure.Workflows.Webjobs.Sdk
< /code>
и получил такую ​​же ошибку. Ildasm и другой инструмент не могут показать IL или C# этой библиотеки. />https://github.com/logicappunit/testingframework
Обновление. Спасибо за вашу помощь.
Но < /p>
нет переключателей «AzureFunctionSproject» и «LogicAppskipbuildTargets» в. (C: \ users .nuget \ packages \ microsoft.azure.workflows.webjobs.sdk \ 1.2.0 \ build \ microsoft.azure.workflows.webjobs.sdk.targets) или в отраженном исходном коде из C: \ users .nuget \ packages \ microsoft.azure.workflows.webjobs.sdk \ 1.2.0 \ build \ tools \ net8 \ microsoft.azure.functions.extensions.workflows.sdk.buildtasks.dll < /p>

, если вам нужно, чтобы это было с добавлением. Импорт задач по сборке
Я пробовал несколько способов, но он все еще запускает все из файла. namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
< /code>
consoleapp1.csproj



Exe
net8
enable
enable













< /code>
consoleapp1.sln
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.13.35931.197
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApp1", "ConsoleApp1.csproj", "{662A46AC-D2E0-490B-A208-C06610C51BE6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DummyTasks", "..\DummyTasks\DummyTasks.csproj", "{F84A6058-FDC7-4555-9845-3D9F86E70869}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{662A46AC-D2E0-490B-A208-C06610C51BE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{662A46AC-D2E0-490B-A208-C06610C51BE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{662A46AC-D2E0-490B-A208-C06610C51BE6}.Debug|x64.ActiveCfg = Debug|Any CPU
{662A46AC-D2E0-490B-A208-C06610C51BE6}.Debug|x64.Build.0 = Debug|Any CPU
{662A46AC-D2E0-490B-A208-C06610C51BE6}.Debug|x86.ActiveCfg = Debug|Any CPU
{662A46AC-D2E0-490B-A208-C06610C51BE6}.Debug|x86.Build.0 = Debug|Any CPU
{662A46AC-D2E0-490B-A208-C06610C51BE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{662A46AC-D2E0-490B-A208-C06610C51BE6}.Release|Any CPU.Build.0 = Release|Any CPU
{662A46AC-D2E0-490B-A208-C06610C51BE6}.Release|x64.ActiveCfg = Release|Any CPU
{662A46AC-D2E0-490B-A208-C06610C51BE6}.Release|x64.Build.0 = Release|Any CPU
{662A46AC-D2E0-490B-A208-C06610C51BE6}.Release|x86.ActiveCfg = Release|Any CPU
{662A46AC-D2E0-490B-A208-C06610C51BE6}.Release|x86.Build.0 = Release|Any CPU
{F84A6058-FDC7-4555-9845-3D9F86E70869}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F84A6058-FDC7-4555-9845-3D9F86E70869}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F84A6058-FDC7-4555-9845-3D9F86E70869}.Debug|x64.ActiveCfg = Debug|Any CPU
{F84A6058-FDC7-4555-9845-3D9F86E70869}.Debug|x64.Build.0 = Debug|Any CPU
{F84A6058-FDC7-4555-9845-3D9F86E70869}.Debug|x86.ActiveCfg = Debug|Any CPU
{F84A6058-FDC7-4555-9845-3D9F86E70869}.Debug|x86.Build.0 = Debug|Any CPU
{F84A6058-FDC7-4555-9845-3D9F86E70869}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F84A6058-FDC7-4555-9845-3D9F86E70869}.Release|Any CPU.Build.0 = Release|Any CPU
{F84A6058-FDC7-4555-9845-3D9F86E70869}.Release|x64.ActiveCfg = Release|Any CPU
{F84A6058-FDC7-4555-9845-3D9F86E70869}.Release|x64.Build.0 = Release|Any CPU
{F84A6058-FDC7-4555-9845-3D9F86E70869}.Release|x86.ActiveCfg = Release|Any CPU
{F84A6058-FDC7-4555-9845-3D9F86E70869}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {9E357AA5-DDBC-447B-BB66-BAA54AA23B99}
EndGlobalSection
EndGlobal
< /code>
override.targets




















< /code>
dummytasks\findfunctionjsonfolders.cs
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;

namespace Microsoft.Azure.Functions.Extensions.Workflows.Sdk.BuildTasks
{
public class FindFunctionJsonFolders : Microsoft.Build.Utilities.Task
{
public override bool Execute()
{
List list = new List();
foreach (string str in Directory.GetDirectories(this.RootDirectory, "*", SearchOption.AllDirectories))
{
if (File.Exists(Path.Combine(str, "function.json")))
{
list.Add(new TaskItem(str));
}
}
this.FunctionFolders = list.ToArray();
return true;
}

[Required]
public string RootDirectory { get; set; }

[Output]
public ITaskItem[] FunctionFolders { get; set; }

}
}
< /code>
dummytasks\ pparametizedfunctionjsongenerator.cs
using Microsoft.Build.Framework;

namespace Microsoft.Azure.Functions.Extensions.Workflows.Sdk.BuildTasks
{
public class ParameterizedFunctionJsonGenerator : Microsoft.Build.Utilities.Task
{
public override bool Execute()
{
return true;
}

[Required]
public string AssemblyOutPath { get; set; }

[Required]
public string ProjectName { get; set; }

[Required]
public string Language { get; set; }

}
}
< /code>
dummytasks\dummytasks.csproj



net8
enable
enable
..\Lib







< /code>
И снова я могу построить его с помощью «dotnet build»
, но в Visual Studio это жалуется:
the Microsoft.azure.functions.extensions.workflows.sdk.buildtasks.findfunctionjsonfolders. Не могу найти тип 'System.runtime.compilerservices.nullablecontextattribute' в сборке 'c: \ windows \ microsoft.net \ framework64 \ v4.0.30319 \ system.runtime.dll'. Убедитесь, что объявление верно, что сборка и все ее зависимости доступны, и что задача содержит открытый класс, который реализует Microsoft.build.framework.itask. ? /> И показывает:
// Раздел метаданных: 0x424a5342, версия: 1.1, дополнительная: 0, версия Len: 12, версия: v4.0.30319
Так выглядит все.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... jobs-sdk-i
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»