小编sta*_*ser的帖子

使用 PublishTrimmed .NET6.0 时 TaskScheduler 中出现 System.NotSupportedException

我想使用“添加 COM 参考”中的“TaskScheduler 1.1 类型库”来使用 TaskScheduler。

using TaskScheduler;
...
     ITaskService taskservice = null;
     taskservice = new TaskScheduler.TaskScheduler(); <=NotSupportedException
     taskservice.Connect(null, null, null, null);
Run Code Online (Sandbox Code Playgroud)

但上面的代码会引发异常。

System.NotSupportedException:“内置 COM 已通过功能开关禁用。请参阅https://aka.ms/dotnet-illink/com了解更多信息

如果 PublishTrimmed 设置为 false,则不会引发异常。但是,我不想将其设置为 false,因为它会增加 exe 的大小。

项目文件如下

 <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <PublishSingleFile>true</PublishSingleFile>
    <SelfContained>false</SelfContained>
    <PublishTrimmed>true</PublishTrimmed>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

我尝试将程序集添加到 TrimmerRootAssembly。但以下不起作用。

<ItemGroup>
    <TrimmerRootAssembly Include="TaskScheduler" />
    <TrimmerRootAssembly Include="Microsoft.Win32.TaskScheduler" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

.net c# .net-core .net-6.0

8
推荐指数
1
解决办法
3170
查看次数

标签 统计

.net ×1

.net-6.0 ×1

.net-core ×1

c# ×1