commandlineparser / commandlineparser/commandline

.NET 7 (RC1) trimming results in error

Đang mở
#848 16 bình luận 7 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
C#
Star
4.8k
Fork
478
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

I've just upgraded my project to .NET 7 and seen that it results in an error (when running):

```
Error setting value to option 'u, url': Check if Option or Value attribute values are set properly for the given type.
Error setting value to option 't, threads': Check if Option or Value attribute values are set properly for the given type.
etc..
```

https://github.com/KoalaBear84/OpenDirectoryDownloader/

If I build it with the following it fails (when running):
```
dotnet publish OpenDirectoryDownloader --configuration Release --framework net7.0 --runtime win-x64 -p:PublishTrimmed=true
```

If I remove the `-p:PublishTrimmed=true` it works. This tells me it could be because of the trimming that will trim something that is important for this library.

Also tried with `-p:TrimMode=Link` and `-p:TrimMode=CopyUsed`, but it doesn't make a difference, but found out that `-p:TrimMode=partial` (Only worked with a lowercase p here) does, as it restores the behaviour of .NET 6.

https://learn.microsoft.com/en-us/dotnet/core/deploying/trimming/trimming-options?pivots=dotnet-7-0#trimming-granularity

Maybe this can be resolved at the library side, but I don't have experience with that.
https://learn.microsoft.com/en-us/dotnet/core/deploying/trimming/prepare-libraries-for-trimming

It would be nice if it can be solved, as more users will try/upgrade to .NET 7. Until then this issue will be helpful for everyone looking for a quick workaround.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Tái hiện lỗi bằng lệnh dotnet publish được cung cấp sử dụng .NET 7, sau đó so sánh với trimming bị tắt và TrimMode=partial. Đọc hướng dẫn trimming được liên kết và kiểm tra cách thư viện xử lý các tùy chọn gây ra lỗi. Hoàn tất khi việc xuất bản có trimming chạy mà không gặp các lỗi đã báo khi thiết lập tùy chọn, đồng thời vẫn giữ nguyên hành vi dòng lệnh thông thường.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
csharp
Lĩnh vực
cli
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
38/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.