16 packages tagged with “CompileTime”
A source code only package which allows you to use C# 9's init and record features in older target frameworks like .NET Standard 2.0 or the "old" .NET Framework by providing a polyfill for the IsExternalInit class. This package does not contain any compiled binaries, but instead adds the IsExternalInit class as C# source code to your project. Because this code is compiled together with the rest of your code, the built binaries will not have a dependency on this package, meaning that you can perfectly use it for both libraries and applications. The C# code is only included if you are targeting a framework version which does not support the IsExternalInit class. For example, if you create a library which multi-targets .NET Standard 2.0 and .NET 5.0, the IsExternalInit class is not provided in the .NET 5.0 compilation, because .NET 5.0 already provides support for the class by default. Please see https://github.com/manuelroemer/IsExternalInit for additional information on how to use this package.
A source code only package which allows you to use .NET's new nullable attributes in older target frameworks like .NET Standard 2.0 or the "old" .NET Framework. This package does not contain any compiled binaries, but instead adds the attribute classes as C# source code to your project. Because this code is compiled together with the rest of your code, the built binaries will not have a dependency on this package, meaning that you can perfectly use it for both libraries and applications. The C# code is only included if you are targeting a framework version which does not support the new nullable attributes. For example, if you create a library which multi-targets .NET Standard 2.0 and 2.1, the majority of the attributes are not included in the .NET Standard 2.1 version, because it already provides these by default. Please see https://github.com/manuelroemer/Nullable for additional information on how to use this package.
A source-package to enable the C# 11 'required' keyword on older target frameworks.
A source code only package which allows you to use C# new array range syntax in older target frameworks like .NET Standard 2.0 or the "old" .NET Framework. This package does not contain any compiled binaries, but instead adds the helper methods as C# source code to your project. Because this code is compiled together with the rest of your code, the built binaries will not have a dependency on this package, meaning that you can perfectly use it for both libraries and applications. The C# code is only included if you are targeting a framework version which does not support the new range syntax. For example, if you create a library which multi-targets .NET Standard 2.0 and 2.1, the helper methods are not included in the .NET Standard 2.1 version, because it already provides these by default.
Common files used by all of my dotnet projects.
A VisualStudio tool to allow programmers to develop Transaction Aware classes for NHibernate. TransactionAware AOP is implemented at compile time with CompileTimeWeaver.Fody.
A source-package to enable the .NET 7.0 `StringSyntaxAttribute` on older target frameworks.
Compile time IL weaver for AOP implementation.
Extension methods and helper classes for incremental source generator projects.
A source code only package which allows you to use .NET's new C# 9 Record feature in older target frameworks like .NET Standard 2.0, .NET Core App below 5 or the old .NET Framework. This package does not contain any compiled binaries, but instead adds the required classes as C# source code to your project. Because this code is compiled together with the rest of your code, the built binaries will not have a dependency on this package, meaning that you can perfectly use it for both libraries and applications. The C# code is only included if you are targeting a framework version which does not support the new record feature. Please see https://github.com/ChristophWeigert/CSharpRecordEnabler for additional information on how to use this package.
A source code package of ReSharper annotations that help reduce false positive warnings, explicitly declare purity and nullability in your code, deal with implicit usages of members, support special semantics of APIs in ASP.NET and XAML frameworks and otherwise increase accuracy of ReSharper code inspections. The attributes NotNull and Pure are disabled by default, to enable it use NOTNULLATTRIBUTE_ENABLE and PUREATTRIBUTE_ENABLE respectively.
An example source-code only package
Ducky.Sdk is a comprehensive .NET SDK for developing mods for the "Escape from Duckov" game. Features: 🚀 Automated Build Pipeline - Auto-deploy to game directory on build 🌍 Smart Localization - Source generator-based localization system with CSV/file translations 📦 Single DLL Distribution - Automatic assembly merging via ILRepack for conflict-free deployment 🔧 Harmony Integration - Optional runtime patching support with seamless dependency management 🎨 Auto-Generated Assets - Automatic generation of mod metadata and preview images 📝 Strongly-Typed Development - Full IntelliSense support and compile-time validation 🔄 Source Distribution - SDK distributed as source code to avoid version conflicts Perfect for modders who want a modern, type-safe development experience with automated workflows. --- Ducky.Sdk 是一个用于为"Escape from Duckov"游戏开发 Mod 的综合性 .NET SDK。 功能特性: 🚀 自动化构建管道 - 构建时自动部署到游戏目录 🌍 智能本地化 - 基于源生成器的本地化系统,支持 CSV/文件翻译 📦 单 DLL 分发 - 通过 ILRepack 自动合并程序集,无冲突部署 🔧 Harmony 集成 - 可选的运行时补丁支持,无缝依赖管理 🎨 自动生成资源 - 自动生成 Mod 元数据和预览图 📝 强类型开发 - 完整的 IntelliSense 支持和编译时验证 🔄 源码分发 - SDK 以源代码形式分发,避免版本冲突 为希望获得现代化、类型安全开发体验和自动化工作流的 Mod 开发者量身打造。
This project introduces the `MustUse` attribute to C#. `MustUse` can be applied to types and methods to encourage the usage of their return values. It helps prevent needless computation and ensures that the caller handles the returned value appropriately, especially in cases where the return type represents a result or an error that should be handled.
Development-only NuGet package that exposes Google Material SVG icons as const strings for compile-time inlining.
This project introduces affine types to C#, enhancing the language's type system to enforce single-use constraints on certain instances. Affine types are a powerful tool for ensuring resource management and correctness in software, particularly useful in critical systems where errors must be caught at compile-time rather than runtime.