This commit is contained in:
nctu6
2026-05-25 15:47:26 +08:00
commit 136c00b490
216 changed files with 83208 additions and 0 deletions
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,15 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WeaverRuntimeToken
Condition="$(MSBuildRuntimeType) != 'Core'">netclassicweaver</WeaverRuntimeToken>
<WeaverRuntimeToken
Condition="$(MSBuildRuntimeType) == 'Core'">netstandardweaver</WeaverRuntimeToken>
</PropertyGroup>
<ItemGroup>
<WeaverFiles
Include="$(MsBuildThisFileDirectory)..\$(WeaverRuntimeToken)\$(MSBuildThisFileName).dll" />
</ItemGroup>
</Project>
@@ -0,0 +1,13 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="$(CosturaRemoveCopyLocalFilesToPublish) == ''">
<CosturaRemoveCopyLocalFilesToPublish>true</CosturaRemoveCopyLocalFilesToPublish>
</PropertyGroup>
<Target Name="CosturaRemoveAlreadyEmbeddedFilesFromPublish" AfterTargets="ComputeResolvedFilesToPublishList" Condition="$(CosturaRemoveCopyLocalFilesToPublish) == 'true'">
<ItemGroup>
<ResolvedFileToPublish Remove="@(FodyRemovedReferenceCopyLocalPaths)" />
</ItemGroup>
</Target>
</Project>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

@@ -0,0 +1,23 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Costura</name>
</assembly>
<members>
<member name="T:MethodTimeLogger">
<summary>
Note: do not rename this class or put it inside a namespace.
</summary>
</member>
<member name="T:CosturaUtility">
<summary>
Contains methods for interacting with the Costura system.
</summary>
</member>
<member name="M:CosturaUtility.Initialize">
<summary>
Call this to Initialize the Costura system.
</summary>
</member>
</members>
</doc>
@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="utf-8" ?>
<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:all>
<xs:element minOccurs="0" maxOccurs="1" name="ExcludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="IncludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="ExcludeRuntimeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="IncludeRuntimeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="ExcludeRuntimes" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtimes to exclude from the default action of "embed all Copy Local references", delimited with line breaks</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="IncludeRuntimes" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtimes names to include from the default action of "embed all Copy Local references", delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged32Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>Obsolete, use UnmanagedWinX86Assemblies instead</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="UnmanagedWinX86Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged X86 (32 bit) assembly names to include, delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>Obsolete, use UnmanagedWinX64Assemblies instead.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="UnmanagedWinX64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged X64 (64 bit) assembly names to include, delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="UnmanagedWinArm64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged Arm64 (64 bit) assembly names to include, delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="PreloadOrder" type="xs:string">
<xs:annotation>
<xs:documentation>The order of preloaded assemblies, delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
<xs:attribute name="CreateTemporaryAssemblies" type="xs:boolean">
<xs:annotation>
<xs:documentation>This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeDebugSymbols" type="xs:boolean">
<xs:annotation>
<xs:documentation>Controls if .pdbs for reference assemblies are also embedded.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeRuntimeReferences" type="xs:boolean">
<xs:annotation>
<xs:documentation>Controls if runtime assemblies are also embedded.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UseRuntimeReferencePaths" type="xs:boolean">
<xs:annotation>
<xs:documentation>Controls whether the runtime assemblies are embedded with their full path or only with their assembly name.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisableCompression" type="xs:boolean">
<xs:annotation>
<xs:documentation>Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisableCleanup" type="xs:boolean">
<xs:annotation>
<xs:documentation>As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisableEventSubscription" type="xs:boolean">
<xs:annotation>
<xs:documentation>The attach method no longer subscribes to the `AppDomain.AssemblyResolve` (.NET 4.x) and `AssemblyLoadContext.Resolving` (.NET 6.0+) events.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LoadAtModuleInit" type="xs:boolean">
<xs:annotation>
<xs:documentation>Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreSatelliteAssemblies" type="xs:boolean">
<xs:annotation>
<xs:documentation>Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with |</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludeRuntimeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with |</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeRuntimeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Unmanaged32Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>Obsolete, use UnmanagedWinX86Assemblies instead</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UnmanagedWinX86Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged X86 (32 bit) assembly names to include, delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Unmanaged64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>Obsolete, use UnmanagedWinX64Assemblies instead</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UnmanagedWinX64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged X64 (64 bit) assembly names to include, delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UnmanagedWinArm64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged Arm64 (64 bit) assembly names to include, delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PreloadOrder" type="xs:string">
<xs:annotation>
<xs:documentation>The order of preloaded assemblies, delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="utf-8" ?>
<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:all>
<xs:element minOccurs="0" maxOccurs="1" name="ExcludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="IncludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="ExcludeRuntimeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="IncludeRuntimeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="ExcludeRuntimes" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtimes to exclude from the default action of "embed all Copy Local references", delimited with line breaks</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="IncludeRuntimes" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtimes names to include from the default action of "embed all Copy Local references", delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged32Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>Obsolete, use UnmanagedWinX86Assemblies instead</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="UnmanagedWinX86Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged X86 (32 bit) assembly names to include, delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>Obsolete, use UnmanagedWinX64Assemblies instead.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="UnmanagedWinX64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged X64 (64 bit) assembly names to include, delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="UnmanagedWinArm64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged Arm64 (64 bit) assembly names to include, delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="PreloadOrder" type="xs:string">
<xs:annotation>
<xs:documentation>The order of preloaded assemblies, delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
<xs:attribute name="CreateTemporaryAssemblies" type="xs:boolean">
<xs:annotation>
<xs:documentation>This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeDebugSymbols" type="xs:boolean">
<xs:annotation>
<xs:documentation>Controls if .pdbs for reference assemblies are also embedded.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeRuntimeReferences" type="xs:boolean">
<xs:annotation>
<xs:documentation>Controls if runtime assemblies are also embedded.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UseRuntimeReferencePaths" type="xs:boolean">
<xs:annotation>
<xs:documentation>Controls whether the runtime assemblies are embedded with their full path or only with their assembly name.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisableCompression" type="xs:boolean">
<xs:annotation>
<xs:documentation>Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisableCleanup" type="xs:boolean">
<xs:annotation>
<xs:documentation>As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisableEventSubscription" type="xs:boolean">
<xs:annotation>
<xs:documentation>The attach method no longer subscribes to the `AppDomain.AssemblyResolve` (.NET 4.x) and `AssemblyLoadContext.Resolving` (.NET 6.0+) events.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LoadAtModuleInit" type="xs:boolean">
<xs:annotation>
<xs:documentation>Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreSatelliteAssemblies" type="xs:boolean">
<xs:annotation>
<xs:documentation>Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with |</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludeRuntimeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with |</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeRuntimeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Unmanaged32Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>Obsolete, use UnmanagedWinX86Assemblies instead</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UnmanagedWinX86Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged X86 (32 bit) assembly names to include, delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Unmanaged64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>Obsolete, use UnmanagedWinX64Assemblies instead</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UnmanagedWinX64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged X64 (64 bit) assembly names to include, delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UnmanagedWinArm64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged Arm64 (64 bit) assembly names to include, delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PreloadOrder" type="xs:string">
<xs:annotation>
<xs:documentation>The order of preloaded assemblies, delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
Binary file not shown.
Binary file not shown.
+149
View File
@@ -0,0 +1,149 @@
<Project>
<PropertyGroup>
<ProjectWeaverXml Condition="$(ProjectWeaverXml) == ''">$(ProjectDir)FodyWeavers.xml</ProjectWeaverXml>
<FodyPath Condition="$(FodyPath) == ''">$(MSBuildThisFileDirectory)..\</FodyPath>
<FodyAssemblyDirectory Condition="$(MSBuildRuntimeType) == 'Core'">$(FodyPath)tasks\netstandard2.0</FodyAssemblyDirectory>
<FodyAssemblyDirectory Condition="$(MSBuildRuntimeType) != 'Core'">$(FodyPath)tasks\net472</FodyAssemblyDirectory>
<FodyAssembly Condition="$(FodyAssembly) == ''">$(FodyAssemblyDirectory)\FodyTasks.dll</FodyAssembly>
<DefaultItemExcludes>$(DefaultItemExcludes);FodyWeavers.xsd</DefaultItemExcludes>
<FodyGenerateXsd Condition="$(FodyGenerateXsd) == ''">true</FodyGenerateXsd>
<MsBuildMajorVersion>15</MsBuildMajorVersion>
<MsBuildMajorVersion Condition="'$(MSBuildVersion)' != ''">$([System.Version]::Parse($(MSBuildVersion)).Major)</MsBuildMajorVersion>
<FodyAfterTargets Condition="($(MsBuildMajorVersion) &lt; 17) AND '$(FodyAfterTargets)'==''">AfterCompile</FodyAfterTargets>
<TargetsTriggeredByCompilation Condition="'$(FodyAfterTargets)'==''">$(TargetsTriggeredByCompilation);FodyTarget</TargetsTriggeredByCompilation>
<DisableFody Condition='$(UseWPF)==true AND $(MSBuildProjectName.EndsWith("_wpftmp"))'>true</DisableFody>
<FodyTreatWarningsAsErrors Condition="$(FodyTreatWarningsAsErrors) == ''">$(TreatWarningsAsErrors)</FodyTreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup Condition="Exists($(ProjectWeaverXml))">
<UpToDateCheckInput Include="$(ProjectWeaverXml)" />
<CustomAdditionalCompileInputs Include="$(ProjectWeaverXml)" />
</ItemGroup>
<!-- Support for NCrunch -->
<ItemGroup Condition="'$(NCrunch)' == '1' and '$(TargetFramework)' == '' and '$(TargetFrameworks)' == ''">
<None Include="$(FodyAssemblyDirectory)\*.*" />
<None Include="@(WeaverFiles)" />
</ItemGroup>
<UsingTask TaskName="Fody.WeavingTask" AssemblyFile="$(FodyAssembly)" />
<UsingTask TaskName="Fody.UpdateCopyLocalTask" AssemblyFile="$(FodyAssembly)" />
<UsingTask TaskName="Fody.VerifyTask" AssemblyFile="$(FodyAssembly)" />
<Target
Name="FodyTarget"
AfterTargets="$(FodyAfterTargets)"
Condition="Exists(@(IntermediateAssembly)) And ($(DesignTimeBuild) != true Or $(BuildingForLiveUnitTesting) == true) And $(DisableFody) != true"
DependsOnTargets="$(FodyDependsOnTargets)"
Inputs="@(IntermediateAssembly);$(ProjectWeaverXml)"
Outputs="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache;$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.RuntimeCopyLocal.cache">
<Error Condition="($(MsBuildMajorVersion) &lt; 16)"
Text="Fody is only supported on MSBuild 16 and above. Current version: $(MsBuildMajorVersion)." />
<Fody.WeavingTask
AssemblyFile="@(IntermediateAssembly)"
IntermediateDirectory="$(ProjectDir)$(IntermediateOutputPath)"
KeyOriginatorFile="$(KeyOriginatorFile)"
AssemblyOriginatorKeyFile="$(AssemblyOriginatorKeyFile)"
ProjectDirectory="$(MSBuildProjectDirectory)"
ProjectFile="$(MSBuildProjectFullPath)"
SolutionDirectory="$(SolutionDir)"
References="@(ReferencePath)"
SignAssembly="$(SignAssembly)"
DelaySign="$(DelaySign)"
ReferenceCopyLocalFiles="@(ReferenceCopyLocalPaths)"
RuntimeCopyLocalFiles="@(RuntimeCopyLocalItems)"
DefineConstants="$(DefineConstants)"
DocumentationFile="@(DocFileItem->'%(FullPath)')"
WeaverFiles="@(WeaverFiles)"
WeaverConfiguration="$(WeaverConfiguration)"
PackageReferences="@(PackageReference)"
NCrunchOriginalSolutionDirectory="$(NCrunchOriginalSolutionDir)"
IntermediateCopyLocalFilesCache="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache"
RuntimeCopyLocalFilesCache="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.RuntimeCopyLocal.cache"
GenerateXsd="$(FodyGenerateXsd)"
TreatWarningsAsErrors="$(FodyTreatWarningsAsErrors)"
>
<Output
TaskParameter="ExecutedWeavers"
PropertyName="FodyExecutedWeavers" />
</Fody.WeavingTask>
<ItemGroup>
<FileWrites Include="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache" />
<FileWrites Include="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.RuntimeCopyLocal.cache" />
</ItemGroup>
</Target>
<Target
Name="FodyUpdateReferenceCopyLocalFilesTarget"
AfterTargets="FodyTarget"
>
<Fody.UpdateCopyLocalTask
CopyLocalFiles="@(ReferenceCopyLocalPaths)"
IntermediateCopyLocalFilesCache="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache"
>
<Output
TaskParameter="UpdatedCopyLocalFiles"
ItemName="FodyUpdatedReferenceCopyLocalPaths" />
</Fody.UpdateCopyLocalTask>
<ItemGroup>
<FodyRemovedReferenceCopyLocalPaths Include="@(ReferenceCopyLocalPaths)" />
<FodyRemovedReferenceCopyLocalPaths Remove="@(FodyUpdatedReferenceCopyLocalPaths)" />
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" />
<ReferenceCopyLocalPaths Include="@(FodyUpdatedReferenceCopyLocalPaths)" />
</ItemGroup>
</Target>
<Target
Name="FodyUpdateRuntimeCopyLocalItemsTarget"
AfterTargets="FodyTarget"
>
<Fody.UpdateCopyLocalTask
CopyLocalFiles="@(RuntimeCopyLocalItems)"
IntermediateCopyLocalFilesCache="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.RuntimeCopyLocal.cache"
>
<Output
TaskParameter="UpdatedCopyLocalFiles"
ItemName="FodyUpdatedRuntimeCopyLocalItems" />
</Fody.UpdateCopyLocalTask>
<ItemGroup>
<FodyRemovedRuntimeCopyLocalItems Include="@(RuntimeCopyLocalItems)" />
<FodyRemovedRuntimeCopyLocalItems Remove="@(FodyUpdatedRuntimeCopyLocalItems)" />
<RuntimeCopyLocalItems Remove="@(RuntimeCopyLocalItems)" />
<RuntimeCopyLocalItems Include="@(FodyUpdatedRuntimeCopyLocalItems)" />
</ItemGroup>
</Target>
<Target
Name="FodyVerifyTarget"
AfterTargets="AfterBuild"
Condition="'$(NCrunch)' != '1' And $(FodyExecutedWeavers) != '' And $(DisableFody) != true"
DependsOnTargets="$(FodyVerifyDependsOnTargets)">
<Fody.VerifyTask
ProjectDirectory="$(MSBuildProjectDirectory)"
TargetPath="$(TargetPath)"
SolutionDirectory="$(SolutionDir)"
WeaverConfiguration="$(WeaverConfiguration)"
DefineConstants="$(DefineConstants)"
NCrunchOriginalSolutionDirectory="$(NCrunchOriginalSolutionDir)"
/>
</Target>
</Project>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

+6
View File
@@ -0,0 +1,6 @@
### Extensible tool for weaving .net assemblies
Manipulating the IL of an assembly as part of a build requires a significant amount of plumbing code. This plumbing code involves knowledge of both the MSBuild and Visual Studio APIs. Fody attempts to eliminate that plumbing code through an extensible add-in model.
For more information about the Fody project see https://github.com/Fody/Home
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,293 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>FodyHelpers</name>
</assembly>
<members>
<member name="T:Fody.BaseModuleWeaver">
<summary>
Base class for module weavers.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.Config">
<summary>
The full element XML from FodyWeavers.xml.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteDebug(System.String)">
<summary>
Write a log entry to MSBuild with the <see cref="F:Fody.MessageImportance.Low"/> level
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.LogDebug">
<summary>
Handler for writing a log entry at the <see cref="F:Fody.MessageImportance.Low"/> level.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteInfo(System.String)">
<summary>
Write a log entry to MSBuild with the <see cref="F:Fody.MessageImportance.Normal"/> level
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.LogInfo">
<summary>
Handler for writing a log entry at the <see cref="F:Fody.MessageImportance.Normal"/> level.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteMessage(System.String,Fody.MessageImportance)">
<summary>
Write a log entry to MSBuild with <paramref name="importance"/> level
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.LogMessage">
<summary>
Handler for writing a log entry at a specific <see cref="T:Fody.MessageImportance"/> level.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteWarning(System.String)">
<summary>
Write a warning to MSBuild.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteWarning(System.String,Mono.Cecil.Cil.SequencePoint)">
<summary>
Write a warning to MSBuild and use <paramref name="sequencePoint"/> for the file and line information.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteWarning(System.String,Mono.Cecil.MethodDefinition)">
<summary>
Write a warning to MSBuild and use <paramref name="method"/> for the file and line information.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.LogWarning">
<summary>
Handler for writing a warning.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.LogWarningPoint">
<summary>
Handler for writing a warning at a specific point in the code
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteError(System.String)">
<summary>
Write an error to MSBuild.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteError(System.String,Mono.Cecil.Cil.SequencePoint)">
<summary>
Write an error to MSBuild and use <paramref name="sequencePoint"/> for the file and line information.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteError(System.String,Mono.Cecil.MethodDefinition)">
<summary>
Write a error to MSBuild and use <paramref name="method"/> for the file and line information.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.LogError">
<summary>
Handler for writing an error.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.LogErrorPoint">
<summary>
Handler for writing an error at a specific point in the code.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.ResolveAssembly">
<summary>
Handler for resolving <see cref="T:Mono.Cecil.AssemblyDefinition"/>s.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.AssemblyResolver">
<summary>
The current <see cref="T:Mono.Cecil.IAssemblyResolver"/>s.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.ModuleDefinition">
<summary>
An instance of <see cref="T:Mono.Cecil.ModuleDefinition"/> for processing.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.TypeSystem">
<summary>
Commonly used <see cref="T:Mono.Cecil.TypeReference"/>s.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.AssemblyFilePath">
<summary>
The full path of the target assembly.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.ProjectDirectoryPath">
<summary>
The full directory path of the target project.
A copy of $(MSBuildProjectDirectory).
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.ProjectFilePath">
<summary>
The full file path of the target project.
A copy of $(MSBuildProjectFullPath).
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.DocumentationFilePath">
<summary>
The full directory path of the XML documentation file,
if generating the documentation file is enabled in the project.
A copy of @(DocFileItem->'%(FullPath)').
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.AddinDirectoryPath">
<summary>
The full directory path of the current weaver.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.SolutionDirectoryPath">
<summary>
The full directory path of the current solution.
A copy of `$(SolutionDir)` or, if it does not exist, a copy of `$(MSBuildProjectDirectory)..\..\..\`. OPTIONAL
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.References">
<summary>
A semicolon delimited string that contains
all the references for the target project.
A copy of the contents of the @(ReferencePath).
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.ReferenceCopyLocalPaths">
<summary>
A list of all the references marked as copy-local.
A copy of the contents of the @(ReferenceCopyLocalPaths).
</summary>
<remarks>
This list will be actively synced back to the build system, i.e. adding or removing items from this list will modify the @(ReferenceCopyLocalPaths) list of the current build.
</remarks>
</member>
<member name="P:Fody.BaseModuleWeaver.RuntimeCopyLocalPaths">
<summary>
A list of all the runtime references marked as copy-local.
A copy of the contents of the @(RuntimeCopyLocalItems).
</summary>
<remarks>
This list will be actively synced back to the build system, i.e. adding or removing items from this list will modify the @(RuntimeCopyLocalItems) list of the current build.
</remarks>
</member>
<member name="P:Fody.BaseModuleWeaver.DefineConstants">
<summary>
A list of all the msbuild constants.
A copy of the contents of the $(DefineConstants).
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.Execute">
<summary>
Called when the weaver is executed.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.Cancel">
<summary>
Called when a request to cancel the build occurs.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.GetAssembliesForScanning">
<summary>
Return a list of assembly names for scanning.
Used as a list for <see cref="P:Fody.BaseModuleWeaver.FindType"/>.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.FindTypeDefinition(System.String)">
<summary>
Find a <see cref="T:Mono.Cecil.TypeDefinition"/>.
Uses all assemblies listed from calling <see cref="M:Fody.BaseModuleWeaver.GetAssembliesForScanning"/> on all weavers.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.FindType">
<summary>
Handler for searching for a type.
Uses all assemblies listed from calling <see cref="M:Fody.BaseModuleWeaver.GetAssembliesForScanning"/> on all weavers.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.TryFindTypeDefinition(System.String,Mono.Cecil.TypeDefinition@)">
<summary>
Find a <see cref="T:Mono.Cecil.TypeDefinition"/>.
Uses all assemblies listed from calling <see cref="M:Fody.BaseModuleWeaver.GetAssembliesForScanning"/> on all weavers.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.TryFindType">
<summary>
Handler for searching for a type.
Uses all assemblies listed from calling <see cref="M:Fody.BaseModuleWeaver.GetAssembliesForScanning"/> on all weavers.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.AfterWeaving">
<summary>
Called after all weaving has occurred and the module has been saved.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.ShouldCleanReference">
<summary>
Set to true if the reference to an equally named library (same name as this fody addin with the ending ".Fody" trimmed)
should be removed by Fody after a successful execution
</summary>
</member>
<member name="T:Fody.MessageImportance">
<summary>
Abstraction for the MSBuild MessageImportance.
</summary>
</member>
<member name="T:Fody.MessageImportanceDefaults">
<summary>
Defaults for <see cref="T:Fody.MessageImportance"/> when writing to <see cref="P:Fody.BaseModuleWeaver.LogDebug"/> and <see cref="P:Fody.BaseModuleWeaver.LogInfo"/>.
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.Ildasm">
<summary>
Decompile assemblies using ildasm.exe.
</summary>
</member>
<member name="T:Fody.LogMessage">
<summary>
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.PeVerifier">
<summary>
Verifies assemblies using peverify.exe.
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.SequencePointMessage">
<summary>
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.TestAssemblyResolver">
<summary>
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.TestResult">
<summary>
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.WeaverTestHelper">
<summary>
Uses <see cref="P:System.Reflection.Assembly.CodeBase"/> to derive the current directory.
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.TypeCache">
<summary>
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.TypeSystem">
<summary>
Replacement for <see cref="P:Mono.Cecil.ModuleDefinition.TypeSystem"/>.
</summary>
</member>
</members>
</doc>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,293 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>FodyHelpers</name>
</assembly>
<members>
<member name="T:Fody.BaseModuleWeaver">
<summary>
Base class for module weavers.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.Config">
<summary>
The full element XML from FodyWeavers.xml.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteDebug(System.String)">
<summary>
Write a log entry to MSBuild with the <see cref="F:Fody.MessageImportance.Low"/> level
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.LogDebug">
<summary>
Handler for writing a log entry at the <see cref="F:Fody.MessageImportance.Low"/> level.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteInfo(System.String)">
<summary>
Write a log entry to MSBuild with the <see cref="F:Fody.MessageImportance.Normal"/> level
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.LogInfo">
<summary>
Handler for writing a log entry at the <see cref="F:Fody.MessageImportance.Normal"/> level.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteMessage(System.String,Fody.MessageImportance)">
<summary>
Write a log entry to MSBuild with <paramref name="importance"/> level
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.LogMessage">
<summary>
Handler for writing a log entry at a specific <see cref="T:Fody.MessageImportance"/> level.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteWarning(System.String)">
<summary>
Write a warning to MSBuild.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteWarning(System.String,Mono.Cecil.Cil.SequencePoint)">
<summary>
Write a warning to MSBuild and use <paramref name="sequencePoint"/> for the file and line information.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteWarning(System.String,Mono.Cecil.MethodDefinition)">
<summary>
Write a warning to MSBuild and use <paramref name="method"/> for the file and line information.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.LogWarning">
<summary>
Handler for writing a warning.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.LogWarningPoint">
<summary>
Handler for writing a warning at a specific point in the code
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteError(System.String)">
<summary>
Write an error to MSBuild.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteError(System.String,Mono.Cecil.Cil.SequencePoint)">
<summary>
Write an error to MSBuild and use <paramref name="sequencePoint"/> for the file and line information.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.WriteError(System.String,Mono.Cecil.MethodDefinition)">
<summary>
Write a error to MSBuild and use <paramref name="method"/> for the file and line information.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.LogError">
<summary>
Handler for writing an error.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.LogErrorPoint">
<summary>
Handler for writing an error at a specific point in the code.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.ResolveAssembly">
<summary>
Handler for resolving <see cref="T:Mono.Cecil.AssemblyDefinition"/>s.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.AssemblyResolver">
<summary>
The current <see cref="T:Mono.Cecil.IAssemblyResolver"/>s.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.ModuleDefinition">
<summary>
An instance of <see cref="T:Mono.Cecil.ModuleDefinition"/> for processing.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.TypeSystem">
<summary>
Commonly used <see cref="T:Mono.Cecil.TypeReference"/>s.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.AssemblyFilePath">
<summary>
The full path of the target assembly.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.ProjectDirectoryPath">
<summary>
The full directory path of the target project.
A copy of $(MSBuildProjectDirectory).
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.ProjectFilePath">
<summary>
The full file path of the target project.
A copy of $(MSBuildProjectFullPath).
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.DocumentationFilePath">
<summary>
The full directory path of the XML documentation file,
if generating the documentation file is enabled in the project.
A copy of @(DocFileItem->'%(FullPath)').
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.AddinDirectoryPath">
<summary>
The full directory path of the current weaver.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.SolutionDirectoryPath">
<summary>
The full directory path of the current solution.
A copy of `$(SolutionDir)` or, if it does not exist, a copy of `$(MSBuildProjectDirectory)..\..\..\`. OPTIONAL
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.References">
<summary>
A semicolon delimited string that contains
all the references for the target project.
A copy of the contents of the @(ReferencePath).
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.ReferenceCopyLocalPaths">
<summary>
A list of all the references marked as copy-local.
A copy of the contents of the @(ReferenceCopyLocalPaths).
</summary>
<remarks>
This list will be actively synced back to the build system, i.e. adding or removing items from this list will modify the @(ReferenceCopyLocalPaths) list of the current build.
</remarks>
</member>
<member name="P:Fody.BaseModuleWeaver.RuntimeCopyLocalPaths">
<summary>
A list of all the runtime references marked as copy-local.
A copy of the contents of the @(RuntimeCopyLocalItems).
</summary>
<remarks>
This list will be actively synced back to the build system, i.e. adding or removing items from this list will modify the @(RuntimeCopyLocalItems) list of the current build.
</remarks>
</member>
<member name="P:Fody.BaseModuleWeaver.DefineConstants">
<summary>
A list of all the msbuild constants.
A copy of the contents of the $(DefineConstants).
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.Execute">
<summary>
Called when the weaver is executed.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.Cancel">
<summary>
Called when a request to cancel the build occurs.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.GetAssembliesForScanning">
<summary>
Return a list of assembly names for scanning.
Used as a list for <see cref="P:Fody.BaseModuleWeaver.FindType"/>.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.FindTypeDefinition(System.String)">
<summary>
Find a <see cref="T:Mono.Cecil.TypeDefinition"/>.
Uses all assemblies listed from calling <see cref="M:Fody.BaseModuleWeaver.GetAssembliesForScanning"/> on all weavers.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.FindType">
<summary>
Handler for searching for a type.
Uses all assemblies listed from calling <see cref="M:Fody.BaseModuleWeaver.GetAssembliesForScanning"/> on all weavers.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.TryFindTypeDefinition(System.String,Mono.Cecil.TypeDefinition@)">
<summary>
Find a <see cref="T:Mono.Cecil.TypeDefinition"/>.
Uses all assemblies listed from calling <see cref="M:Fody.BaseModuleWeaver.GetAssembliesForScanning"/> on all weavers.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.TryFindType">
<summary>
Handler for searching for a type.
Uses all assemblies listed from calling <see cref="M:Fody.BaseModuleWeaver.GetAssembliesForScanning"/> on all weavers.
</summary>
</member>
<member name="M:Fody.BaseModuleWeaver.AfterWeaving">
<summary>
Called after all weaving has occurred and the module has been saved.
</summary>
</member>
<member name="P:Fody.BaseModuleWeaver.ShouldCleanReference">
<summary>
Set to true if the reference to an equally named library (same name as this fody addin with the ending ".Fody" trimmed)
should be removed by Fody after a successful execution
</summary>
</member>
<member name="T:Fody.MessageImportance">
<summary>
Abstraction for the MSBuild MessageImportance.
</summary>
</member>
<member name="T:Fody.MessageImportanceDefaults">
<summary>
Defaults for <see cref="T:Fody.MessageImportance"/> when writing to <see cref="P:Fody.BaseModuleWeaver.LogDebug"/> and <see cref="P:Fody.BaseModuleWeaver.LogInfo"/>.
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.Ildasm">
<summary>
Decompile assemblies using ildasm.exe.
</summary>
</member>
<member name="T:Fody.LogMessage">
<summary>
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.PeVerifier">
<summary>
Verifies assemblies using peverify.exe.
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.SequencePointMessage">
<summary>
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.TestAssemblyResolver">
<summary>
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.TestResult">
<summary>
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.WeaverTestHelper">
<summary>
Uses <see cref="P:System.Reflection.Assembly.CodeBase"/> to derive the current directory.
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.TypeCache">
<summary>
Only for test usage. Only for development purposes when building Fody addins. The API may change in minor releases.
</summary>
</member>
<member name="T:Fody.TypeSystem">
<summary>
Replacement for <see cref="P:Mono.Cecil.ModuleDefinition.TypeSystem"/>.
</summary>
</member>
</members>
</doc>
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2baeee20c8f0cd7edadf312062c75bf1128944c0b46e624be6ef5283974c3061
size 2394328
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b6cdae4d257a9d1514f257ef9fcbda10508e87409ba60db8b6b17a84c562d09b
size 2832896
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b583b09c805ada4d527380a736e14ba6c6ca77a355381bcb9f26a2bea4f1ab6b
size 2580492
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7600888ea1ad6c61d67f1bc221d17e6f5d1d6c88ee4531148241b55a2ec22c79
size 2832896
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b583b09c805ada4d527380a736e14ba6c6ca77a355381bcb9f26a2bea4f1ab6b
size 2580492
Binary file not shown.
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d39c82d6e7f366b45053c3f11b512f0ec021d1a0fcf9fe0283478b2edd0b8dd9
size 2392568
+72
View File
@@ -0,0 +1,72 @@
## About
The original and most popular .NET wrapper for the [Windows Task Scheduler](https://docs.microsoft.com/en-us/windows/win32/taskschd/task-scheduler-start-page). It provides functionally complete classes that cover all development aspects related to system tasks.
More information can be found on the [project page on GitHub](https://github.com/dahall/taskscheduler).
## Support
Below are links to sites that provide in-depth examples, documentation and discussions. Please go here first with your questions as the community has been active for over a decade.
* [Wiki](https://github.com/dahall/TaskScheduler/wiki) - Sample code, library how-to, troubleshooting, etc.
* [API documentation](https://dahall.github.io/TaskScheduler) - Class/method/property documentation and examples
* [Full Issues Log](https://github.com/dahall/TaskScheduler/issues?q=) - Use the search box to see if your question may already be answered.
* [Discussion Forum](https://github.com/dahall/TaskScheduler/discussions) - Users helping users, enhancement requests, Q&A (retired Google forum [here](https://groups.google.com/forum/#!forum/taskscheduler))
* [Troubleshooting Tool](https://github.com/dahall/TaskSchedulerConfig) - Tool to help identify and fix configuration and connectivity issues. (ClickOnce installer [here](https://github.com/dahall/TaskSchedulerConfig/blob/master/publish/setup.exe?raw=true))
## Key Features
Microsoft introduced version 2.0 (internally version 1.2) with a completely new object model with Windows Vista. The managed assembly closely resembles the new object model but allows the 1.0 (internally version 1.1) COM objects to be manipulated. It will automatically choose the most recent version of the library found on the host system (up through 1.4). Core features include:
* Separate, functionally identical, libraries for .NET 2.0, 3.5, 4.0, 4.52, 5.0, 6.0, .NET Standard 2.0, .NET Core 2.0, 2.1, 3.0, 3.1.
* Unlike the base COM libraries, this wrapper accommodates creating and viewing tasks up and down stream.
* Supports all V2 native properties, even under V1 tasks.
* Maintain EmailAction and ShowMessageAction using PowerShell scripts for systems after Win8 where these actions have been deprecated.
* Supports all action types (not just ExecAction) on V1 systems (XP/WS2003) and earlier (if PowerShell is installed).
* Supports multiple actions on V1 systems (XP/WS2003). Native library only supports a single action.
* Supports serialization to XML for both 1.0 and 2.0 tasks (base library only supports 2.0)
* Supports task validation for targeted version.
* Supports secure task reading and maintenance.
* Fluent methods for task creation.
* Cron syntax for trigger creation.
The currently supported localizations include: English, Spanish, Italian, French, Chinese (Simplified), German, Polish and Russian.
## Usage
You can perform several actions in a single line of code:
```C#
// Run a program every day on the local machine
TaskService.Instance.AddTask("Test", QuickTriggerType.Daily, "myprogram.exe", "-a arg");
// Run a custom COM handler on the last day of every month
TaskService.Instance.AddTask("Test", new MonthlyTrigger { RunOnLastDayOfMonth = true },
new ComHandlerAction(new Guid("{CE7D4428-8A77-4c5d-8A13-5CAB5D1EC734}")));
```
For many more options, use the library classes to build a complex task. Below is a brief example of how to use the library from C#.
```C#
using System;
using Microsoft.Win32.TaskScheduler;
class Program
{
static void Main()
{
// Get the service on the remote machine
using (TaskService ts = new TaskService(@"\\RemoteServer", "username", "domain", "password"))
{
// Create a new task definition and assign properties
TaskDefinition td = ts.NewTask();
td.RegistrationInfo.Description = "Does something";
// Create a trigger that will fire the task at this time every other day
td.Triggers.Add(new DailyTrigger { DaysInterval = 2 });
// Create an action that will launch Notepad whenever the trigger fires
td.Actions.Add(new ExecAction("notepad.exe", "c:\\test.log", null));
// Register the task in the root folder.
// (Use the username here to ensure remote registration works.)
ts.RootFolder.RegisterTaskDefinition(@"Test", td, TaskCreation.CreateOrUpdate, "username");
}
}
}
```
For extended examples on how to the use the library, look at the [Examples Page](https://github.com/dahall/TaskScheduler/wiki/Examples).
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More