Jump to the main content

2020

Natasha.CSharp.All v2.0.2.3

  • 2020/11/24
    • Fix compilation prohibition warning function;

Natasha.CSharp.All v2.0.2.2

  • 2020/11/20
    • backing. NET5 / C# 9 ;
    • Add NRecord build templates;
    • Add RecordProperty read-only wrapper properties, add OOP template Property builds apis about init types;
    • Add support for fixed modifiers;
    • . NET5 version adds SkipInit method skip initialization, the SkipLocalsInit feature (note), which can be used for storage structure construction and methods;
    • Repair the log output format;

Natasha.CSharp.All v2.0.2.1

  • 2020/11/14
    • backing. NET5 Runtime version.
    • The initialization function adds arguments, false represents references that do not initialize the default domain, at which point the reference needs to be added manually in the domain.

Natasha.CSharp.All v2.0.1.1

  • 2020/10/28
    • Support for netcore3.1 Runtime version.

Natasha.CSharp.All v2.0.1.0

  • 2020/10/27
    • Use the initialization switch to avoid multiple initialization calls.

Natasha.CSharp.All v2.0.0.0

  • 2020/10/10
    • Reorganize the project structure and attribute the C#-related items under the CSharp folder.
    • Fixes the weak reference relationship of the domain management operation class to the domain and resolves the failure of DomainManagement.IsDeleted judgment.
    • Improve the surrounding class library.

v4.1.0.0

  • 2020/08/06
    • Supports using reference overrides for plug-ins and dynamically generated assemblies when programming dynamically within the domain.
    • Upgrade Natasha.Framework; Add the GetReferenceElements API to return all references to the current domain, add the AddAssemblyEvent/RemoveAssemblyEvent event, which is triggered when the assembly loads and removes the operation.
    • The desal solver supports the ref-decorated inversion of the method's return value.
    • The anti-solution supports the notnull constraint inversion of generic constraints.
    • Add plug-in UT testing, compile to circumvent CS1704 issues, support file/stream loading with different plug-ins, and individually load dependent assemblies to upgrade plug-in dependencies.
    • Add the Natasha.CSharp.All library to provide automatic references to the component library.

v4.0.0.0

  • 2020/07/24
    • Upgrade and refactor the Natasha.Framework compilation framework.
    • Refactor AssemblyDomain for Natasha AssemblyDomain.
    • Refactor Natasha CSharpSyntax.
    • Refactor Natasha CSharp Compiler.
    • Decoupling out the compiled component and initializing it with Emit after registration.
    • The CSharp compiler opens the local compilation identity.
    • Increase readonlyScript's string method extension to support assignment of Readonly.
    • Optimize engine performance.
    • Adjust the namespace identified by some templates to global.

v3.14.0.0

  • 2020/07/02
    • Some of the action classes are promoted to global references, AssemblyDomain, DomainManagement, and AssemblyCSharpBuilder.
    • Use an inheritable compilation environment package.
    • Use an inheritable debug environment package.
    • The AssemblyCSharpBuilder engine continues to adjust the API structure to raise the exposure level of some option properties.
    • The template adds generic constraint templates, and the anti-solver adds generic constraint anti-solution capabilities.
    • Fix some template state machine operations.
    • Add CS0012 error redirection.

v3.10.0.0

  • 2020/06/07
    • Separate SDK/SHARE runtime library references to better support the private fields of the system class library.
    • Adjusting the initialization API DomainManagement.Regiest Default s> AssemblyDomain.Init();
    • The engine continues to adjust the API structure to raise the exposure level of some properties:
      • The AllowUnsafe property supports non-secure code compilation;
      • OutputToFile switches memory and file compilation modes;
      • Whether UseRelease uses optimized compilation;
      • An enumeration of outputKind compilation types, including dll / exe, etc.;
      • Domain domain settings;
      • AssemblyName assembly name;
    • The thin engine is partially redundant.
    • The engine increases support for private fields.

v3.8.0.0

  • 2020/06/06
    • Fix the template state machine operation.

    • API adjustments in templates:

      • DefinedName() -> Name()
      • DefinedType() -> Type()
    • Adjusting the engine API structure to reduce the hierarchy of AssemblyCSharpBuilder class API operations, you can now add strings directly by calling the Add method by the AssemblyCSharpBuilder instance, and adjusting the CompileEror Behavior / SyntaxError Behavior fields in AssemblyCSharpBuilder, which can be called directly by the instance.

    • The engine increases support for private fields.

    • The template adds FlagTempalte to facilitate the construction of additional tags on the namespace, as well as api AllowPrivate, which allows the engine to determine which classes/assemblies are privately field supported.

    • NDelegate adds setClass APIs to facilitate adjustments to the overall class framework, such as . SetClass(item=>item. AllowPrivate<TPropertyClass>())


v3.4.0.0

  • 2020/06/01
    • Increased API for building objects quickly . GetXXXBuilder, returns field/property/method constructor.
    • nclass. Property/Field/Method/Ctor supports direct transmission of a good builder in.

v3.2.0.0

  • 2020/05/12
    • Add the ability of plug-ins to automatically mount using, which you still need to specify manually when using the CustomeUsing method.
    • The namespace that unites most APIs is Natasha.CSharp.
    • Fix part of the field name.
    • The DomainBase partial method implementation will be implemented in AssemblyDomain.
    • DomainBase adds GetPlugin Assembies abstraction methods to return the assembly that the plug-in brings, requiring subclass implementations.

v3.0.2.0

  • 2020/05/06
    • Fix the modifier template state machine BUG.
    • Add the syntax tree option ForceAdSyntax forces the addition of a syntax tree, right or wrong.

v2.15.0.0

  • 2020/03/17
    • Abstract the static construction layer template and standardize the template naming.
    • A new static construction API allows you to pass the compiler to the method to assign values to the domain.
    • Change the static construction method to set the compiler option as a delegate.
    • The Use Of The DelegateOperator Method Is CompromiseD, And It Is Recommended To Use NDoAmin Directly.

v2.14.0.0

  • 2020/03/16
    • The NDomain class uses the Using template to provide predefined operations for namespaces, making it easy to customize namespaces in advance.
    • Added domain, namespace association template NHandler to provide the same delegate/class/interface/enum/struct operation class as the current information.
    • Add ALink abstract class constraints to complete the Link operation.

v2.12.0.0

  • 2020/03/06
    • New NDomain.XXX.Delegate<MyDelegate> series API, developers can pass on custom delegates, including AsyncDelegate / UnsafeDelegate / AsyncUnsafeDelegate / Delegate.
  • 2020/03/09
    • Modifying the API Field template build adds a parameter to the int? fieldoffset。

v2.10.2.0

  • 2020/03/05
    • Fix a BUG in a method derexter and do not resolve the new keyword for the time being.

v2.10.0.0

  • 2020/02/15
    • The namespace for the log operation is changed to System.

    • The type desayer adds a namespace.

    • Modify the CS0104 BUG.

  • 2020/02/14
    • Increase the warning compilation log (closed by default).

    • Add the global detailed log control field UseDetailLog.

    • Fix cs0104 generic ambiguity issues.


v2.9.10.0

  • 2020/02/05
    • Fix field protection level inversion.

    • Increases the type inversion on the stack.


v2.9.8.0

  • 2020/01/14
    • Optimize the engine lock.

v2.9.7.0

  • 2020/01/13
    • Turning off the success log by default improves performance

    • AssemblyDomain increases events so that external callers can track the plug-in lifecycle.


v2.9.6.1

  • 2020/01/10
    • Enhanced Desynder API: List<T> returned by GetDevelopName.

    • Added desalactor API: List<> returned by GetRuntimeName.

    • Remove the CSC dependency.


v2.9.6.0

  • 2020/01/06
    • Add the unsubsinsed UnsafeAction / AsyncAction / UnsafeAsyncAction API.

    • Grammar detection increases the log switch and exception throw mechanism.


v2.9.0.0

  • 2020/01/03
    • Modify a large number of static initialization APIs https://github.com/dotnetcore/Natasha/blob/master/docs/zh/api/static-init.md.

    • Supports throwing an exception at runtime.

    • Supports internal and external plug-ins within new domains to override system domain plug-ins first for compilation.

    • Fix several compiler BUGs.

    • The documentation is added to support asp.net core 3.1 configuration nodes.


v2.8.11.0

  • 2020/01/01
    • Remove the assembly domain map and use the official API for domain conversion.

    • .NET Standard2.0 supports scanning all dependent file items under the same DLL file directory.