| @@ -1,93 +1,96 @@ | |||||
| <?xml version="1.0" encoding="utf-8"?> | |||||
| <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||||
| <PropertyGroup> | |||||
| <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | |||||
| <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | |||||
| <ProductVersion>9.0.30729</ProductVersion> | |||||
| <SchemaVersion>2.0</SchemaVersion> | |||||
| <ProjectGuid>{D23DACFA-11A1-480E-A6C4-1F37B564523D}</ProjectGuid> | |||||
| <OutputType>WinExe</OutputType> | |||||
| <AppDesignerFolder>Properties</AppDesignerFolder> | |||||
| <RootNamespace>ClickForensics.Quartz.Manager</RootNamespace> | |||||
| <AssemblyName>ClickForensics.Quartz.Manager</AssemblyName> | |||||
| <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> | |||||
| <FileAlignment>512</FileAlignment> | |||||
| <FileUpgradeFlags> | |||||
| </FileUpgradeFlags> | |||||
| <OldToolsVersion>3.5</OldToolsVersion> | |||||
| <UpgradeBackupLocation /> | |||||
| <TargetFrameworkProfile /> | |||||
| <PublishUrl>publish\</PublishUrl> | |||||
| <Install>true</Install> | |||||
| <InstallFrom>Disk</InstallFrom> | |||||
| <UpdateEnabled>false</UpdateEnabled> | |||||
| <UpdateMode>Foreground</UpdateMode> | |||||
| <UpdateInterval>7</UpdateInterval> | |||||
| <UpdateIntervalUnits>Days</UpdateIntervalUnits> | |||||
| <UpdatePeriodically>false</UpdatePeriodically> | |||||
| <UpdateRequired>false</UpdateRequired> | |||||
| <MapFileExtensions>true</MapFileExtensions> | |||||
| <ApplicationRevision>0</ApplicationRevision> | |||||
| <ApplicationVersion>1.0.0.%2a</ApplicationVersion> | |||||
| <IsWebBootstrapper>false</IsWebBootstrapper> | |||||
| <UseApplicationTrust>false</UseApplicationTrust> | |||||
| <BootstrapperEnabled>true</BootstrapperEnabled> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> | |||||
| <DebugSymbols>true</DebugSymbols> | |||||
| <DebugType>full</DebugType> | |||||
| <Optimize>false</Optimize> | |||||
| <OutputPath>bin\Debug\</OutputPath> | |||||
| <DefineConstants>DEBUG;TRACE</DefineConstants> | |||||
| <ErrorReport>prompt</ErrorReport> | |||||
| <WarningLevel>4</WarningLevel> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | |||||
| <DebugType>pdbonly</DebugType> | |||||
| <Optimize>true</Optimize> | |||||
| <OutputPath>bin\Release\</OutputPath> | |||||
| <DefineConstants>TRACE</DefineConstants> | |||||
| <ErrorReport>prompt</ErrorReport> | |||||
| <WarningLevel>4</WarningLevel> | |||||
| </PropertyGroup> | |||||
| <ItemGroup> | |||||
| <Reference Include="Common.Logging"> | |||||
| <HintPath>..\lib\Common.Logging.dll</HintPath> | |||||
| </Reference> | |||||
| <Reference Include="Quartz, Version=2.0.0.29445, Culture=neutral, processorArchitecture=MSIL"> | |||||
| <SpecificVersion>False</SpecificVersion> | |||||
| <HintPath>..\..\quartznet\build\4.0\Debug\Quartz.Server\Quartz.dll</HintPath> | |||||
| </Reference> | |||||
| <Reference Include="System" /> | |||||
| <Reference Include="System.configuration" /> | |||||
| <Reference Include="System.Core"> | |||||
| <RequiredTargetFramework>3.5</RequiredTargetFramework> | |||||
| </Reference> | |||||
| <Reference Include="System.Xml.Linq"> | |||||
| <RequiredTargetFramework>3.5</RequiredTargetFramework> | |||||
| </Reference> | |||||
| <Reference Include="System.Data.DataSetExtensions"> | |||||
| <RequiredTargetFramework>3.5</RequiredTargetFramework> | |||||
| </Reference> | |||||
| <Reference Include="System.Data" /> | |||||
| <Reference Include="System.Deployment" /> | |||||
| <Reference Include="System.Drawing" /> | |||||
| <Reference Include="System.Windows.Forms" /> | |||||
| <Reference Include="System.Xml" /> | |||||
| </ItemGroup> | |||||
| <ItemGroup> | |||||
| <Compile Include="AddJobForm.cs"> | |||||
| <SubType>Form</SubType> | |||||
| </Compile> | |||||
| <Compile Include="AddJobForm.Designer.cs"> | |||||
| <DependentUpon>AddJobForm.cs</DependentUpon> | |||||
| </Compile> | |||||
| <Compile Include="AddListenerForm.cs"> | |||||
| <SubType>Form</SubType> | |||||
| </Compile> | |||||
| <Compile Include="AddListenerForm.Designer.cs"> | |||||
| <DependentUpon>AddListenerForm.cs</DependentUpon> | |||||
| </Compile> | |||||
| <?xml version="1.0" encoding="utf-8"?> | |||||
| <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||||
| <PropertyGroup> | |||||
| <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | |||||
| <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | |||||
| <ProductVersion>9.0.30729</ProductVersion> | |||||
| <SchemaVersion>2.0</SchemaVersion> | |||||
| <ProjectGuid>{D23DACFA-11A1-480E-A6C4-1F37B564523D}</ProjectGuid> | |||||
| <OutputType>WinExe</OutputType> | |||||
| <AppDesignerFolder>Properties</AppDesignerFolder> | |||||
| <RootNamespace>ClickForensics.Quartz.Manager</RootNamespace> | |||||
| <AssemblyName>ClickForensics.Quartz.Manager</AssemblyName> | |||||
| <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> | |||||
| <FileAlignment>512</FileAlignment> | |||||
| <FileUpgradeFlags> | |||||
| </FileUpgradeFlags> | |||||
| <OldToolsVersion>3.5</OldToolsVersion> | |||||
| <UpgradeBackupLocation /> | |||||
| <TargetFrameworkProfile /> | |||||
| <PublishUrl>publish\</PublishUrl> | |||||
| <Install>true</Install> | |||||
| <InstallFrom>Disk</InstallFrom> | |||||
| <UpdateEnabled>false</UpdateEnabled> | |||||
| <UpdateMode>Foreground</UpdateMode> | |||||
| <UpdateInterval>7</UpdateInterval> | |||||
| <UpdateIntervalUnits>Days</UpdateIntervalUnits> | |||||
| <UpdatePeriodically>false</UpdatePeriodically> | |||||
| <UpdateRequired>false</UpdateRequired> | |||||
| <MapFileExtensions>true</MapFileExtensions> | |||||
| <ApplicationRevision>0</ApplicationRevision> | |||||
| <ApplicationVersion>1.0.0.%2a</ApplicationVersion> | |||||
| <IsWebBootstrapper>false</IsWebBootstrapper> | |||||
| <UseApplicationTrust>false</UseApplicationTrust> | |||||
| <BootstrapperEnabled>true</BootstrapperEnabled> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> | |||||
| <DebugSymbols>true</DebugSymbols> | |||||
| <DebugType>full</DebugType> | |||||
| <Optimize>false</Optimize> | |||||
| <OutputPath>bin\Debug\</OutputPath> | |||||
| <DefineConstants>DEBUG;TRACE</DefineConstants> | |||||
| <ErrorReport>prompt</ErrorReport> | |||||
| <WarningLevel>4</WarningLevel> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | |||||
| <DebugType>pdbonly</DebugType> | |||||
| <Optimize>true</Optimize> | |||||
| <OutputPath>bin\Release\</OutputPath> | |||||
| <DefineConstants>TRACE</DefineConstants> | |||||
| <ErrorReport>prompt</ErrorReport> | |||||
| <WarningLevel>4</WarningLevel> | |||||
| </PropertyGroup> | |||||
| <ItemGroup> | |||||
| <Reference Include="Common.Logging"> | |||||
| <HintPath>..\lib\Common.Logging.dll</HintPath> | |||||
| </Reference> | |||||
| <Reference Include="log4net"> | |||||
| <HintPath>..\packages\log4net.1.2.10\lib\2.0\log4net.dll</HintPath> | |||||
| </Reference> | |||||
| <Reference Include="Quartz, Version=2.0.0.29445, Culture=neutral, processorArchitecture=MSIL"> | |||||
| <SpecificVersion>False</SpecificVersion> | |||||
| <HintPath>..\..\quartznet\build\4.0\Debug\Quartz.Server\Quartz.dll</HintPath> | |||||
| </Reference> | |||||
| <Reference Include="System" /> | |||||
| <Reference Include="System.configuration" /> | |||||
| <Reference Include="System.Core"> | |||||
| <RequiredTargetFramework>3.5</RequiredTargetFramework> | |||||
| </Reference> | |||||
| <Reference Include="System.Xml.Linq"> | |||||
| <RequiredTargetFramework>3.5</RequiredTargetFramework> | |||||
| </Reference> | |||||
| <Reference Include="System.Data.DataSetExtensions"> | |||||
| <RequiredTargetFramework>3.5</RequiredTargetFramework> | |||||
| </Reference> | |||||
| <Reference Include="System.Data" /> | |||||
| <Reference Include="System.Deployment" /> | |||||
| <Reference Include="System.Drawing" /> | |||||
| <Reference Include="System.Windows.Forms" /> | |||||
| <Reference Include="System.Xml" /> | |||||
| </ItemGroup> | |||||
| <ItemGroup> | |||||
| <Compile Include="AddJobForm.cs"> | |||||
| <SubType>Form</SubType> | |||||
| </Compile> | |||||
| <Compile Include="AddJobForm.Designer.cs"> | |||||
| <DependentUpon>AddJobForm.cs</DependentUpon> | |||||
| </Compile> | |||||
| <Compile Include="AddListenerForm.cs"> | |||||
| <SubType>Form</SubType> | |||||
| </Compile> | |||||
| <Compile Include="AddListenerForm.Designer.cs"> | |||||
| <DependentUpon>AddListenerForm.cs</DependentUpon> | |||||
| </Compile> | |||||
| <Compile Include="AssemblyRepository.cs" /> | <Compile Include="AssemblyRepository.cs" /> | ||||
| <Compile Include="ConnectionInfo.cs" /> | <Compile Include="ConnectionInfo.cs" /> | ||||
| <Compile Include="DeleteAssembliesForm.cs"> | <Compile Include="DeleteAssembliesForm.cs"> | ||||
| @@ -102,120 +105,121 @@ | |||||
| <Compile Include="SimpleTriggerDisplay.Designer.cs"> | <Compile Include="SimpleTriggerDisplay.Designer.cs"> | ||||
| <DependentUpon>SimpleTriggerDisplay.cs</DependentUpon> | <DependentUpon>SimpleTriggerDisplay.cs</DependentUpon> | ||||
| </Compile> | </Compile> | ||||
| <Compile Include="ErrorDialog.cs"> | |||||
| <SubType>Form</SubType> | |||||
| </Compile> | |||||
| <Compile Include="ErrorDialog.Designer.cs"> | |||||
| <DependentUpon>ErrorDialog.cs</DependentUpon> | |||||
| </Compile> | |||||
| <Compile Include="JobType.cs" /> | |||||
| <Compile Include="NativeJobDetailDisplay.cs"> | |||||
| <SubType>UserControl</SubType> | |||||
| </Compile> | |||||
| <Compile Include="NativeJobDetailDisplay.Designer.cs"> | |||||
| <DependentUpon>NativeJobDetailDisplay.cs</DependentUpon> | |||||
| </Compile> | |||||
| <Compile Include="JobNode.cs" /> | |||||
| <Compile Include="MainForm.cs"> | |||||
| <SubType>Form</SubType> | |||||
| </Compile> | |||||
| <Compile Include="MainForm.Designer.cs"> | |||||
| <DependentUpon>MainForm.cs</DependentUpon> | |||||
| </Compile> | |||||
| <Compile Include="Program.cs" /> | |||||
| <Compile Include="Properties\AssemblyInfo.cs" /> | |||||
| <EmbeddedResource Include="AddJobForm.resx"> | |||||
| <DependentUpon>AddJobForm.cs</DependentUpon> | |||||
| </EmbeddedResource> | |||||
| <EmbeddedResource Include="AddListenerForm.resx"> | |||||
| <DependentUpon>AddListenerForm.cs</DependentUpon> | |||||
| </EmbeddedResource> | |||||
| <Compile Include="ErrorDialog.cs"> | |||||
| <SubType>Form</SubType> | |||||
| </Compile> | |||||
| <Compile Include="ErrorDialog.Designer.cs"> | |||||
| <DependentUpon>ErrorDialog.cs</DependentUpon> | |||||
| </Compile> | |||||
| <Compile Include="JobType.cs" /> | |||||
| <Compile Include="NativeJobDetailDisplay.cs"> | |||||
| <SubType>UserControl</SubType> | |||||
| </Compile> | |||||
| <Compile Include="NativeJobDetailDisplay.Designer.cs"> | |||||
| <DependentUpon>NativeJobDetailDisplay.cs</DependentUpon> | |||||
| </Compile> | |||||
| <Compile Include="JobNode.cs" /> | |||||
| <Compile Include="MainForm.cs"> | |||||
| <SubType>Form</SubType> | |||||
| </Compile> | |||||
| <Compile Include="MainForm.Designer.cs"> | |||||
| <DependentUpon>MainForm.cs</DependentUpon> | |||||
| </Compile> | |||||
| <Compile Include="Program.cs" /> | |||||
| <Compile Include="Properties\AssemblyInfo.cs" /> | |||||
| <EmbeddedResource Include="AddJobForm.resx"> | |||||
| <DependentUpon>AddJobForm.cs</DependentUpon> | |||||
| </EmbeddedResource> | |||||
| <EmbeddedResource Include="AddListenerForm.resx"> | |||||
| <DependentUpon>AddListenerForm.cs</DependentUpon> | |||||
| </EmbeddedResource> | |||||
| <EmbeddedResource Include="DeleteAssembliesForm.resx"> | <EmbeddedResource Include="DeleteAssembliesForm.resx"> | ||||
| <DependentUpon>DeleteAssembliesForm.cs</DependentUpon> | <DependentUpon>DeleteAssembliesForm.cs</DependentUpon> | ||||
| </EmbeddedResource> | </EmbeddedResource> | ||||
| <EmbeddedResource Include="SimpleTriggerDisplay.resx"> | <EmbeddedResource Include="SimpleTriggerDisplay.resx"> | ||||
| <DependentUpon>SimpleTriggerDisplay.cs</DependentUpon> | <DependentUpon>SimpleTriggerDisplay.cs</DependentUpon> | ||||
| </EmbeddedResource> | </EmbeddedResource> | ||||
| <EmbeddedResource Include="CronTriggerDisplay.resx"> | |||||
| <DependentUpon>CronTriggerDisplay.cs</DependentUpon> | |||||
| </EmbeddedResource> | |||||
| <EmbeddedResource Include="ErrorDialog.resx"> | |||||
| <DependentUpon>ErrorDialog.cs</DependentUpon> | |||||
| </EmbeddedResource> | |||||
| <EmbeddedResource Include="MainForm.resx"> | |||||
| <DependentUpon>MainForm.cs</DependentUpon> | |||||
| </EmbeddedResource> | |||||
| <EmbeddedResource Include="NativeJobDetailDisplay.resx"> | |||||
| <DependentUpon>NativeJobDetailDisplay.cs</DependentUpon> | |||||
| </EmbeddedResource> | |||||
| <EmbeddedResource Include="Properties\Resources.resx"> | |||||
| <Generator>ResXFileCodeGenerator</Generator> | |||||
| <LastGenOutput>Resources.Designer.cs</LastGenOutput> | |||||
| <SubType>Designer</SubType> | |||||
| </EmbeddedResource> | |||||
| <EmbeddedResource Include="ServerConnectForm.resx"> | |||||
| <DependentUpon>ServerConnectForm.cs</DependentUpon> | |||||
| </EmbeddedResource> | |||||
| <Compile Include="Properties\Resources.Designer.cs"> | |||||
| <AutoGen>True</AutoGen> | |||||
| <DependentUpon>Resources.resx</DependentUpon> | |||||
| <DesignTime>True</DesignTime> | |||||
| </Compile> | |||||
| <None Include="app.config" /> | |||||
| <None Include="Properties\Settings.settings"> | |||||
| <Generator>SettingsSingleFileGenerator</Generator> | |||||
| <LastGenOutput>Settings.Designer.cs</LastGenOutput> | |||||
| </None> | |||||
| <Compile Include="Properties\Settings.Designer.cs"> | |||||
| <AutoGen>True</AutoGen> | |||||
| <DependentUpon>Settings.settings</DependentUpon> | |||||
| <DesignTimeSharedInput>True</DesignTimeSharedInput> | |||||
| </Compile> | |||||
| <Compile Include="QuartzScheduler.cs" /> | |||||
| <EmbeddedResource Include="CronTriggerDisplay.resx"> | |||||
| <DependentUpon>CronTriggerDisplay.cs</DependentUpon> | |||||
| </EmbeddedResource> | |||||
| <EmbeddedResource Include="ErrorDialog.resx"> | |||||
| <DependentUpon>ErrorDialog.cs</DependentUpon> | |||||
| </EmbeddedResource> | |||||
| <EmbeddedResource Include="MainForm.resx"> | |||||
| <DependentUpon>MainForm.cs</DependentUpon> | |||||
| </EmbeddedResource> | |||||
| <EmbeddedResource Include="NativeJobDetailDisplay.resx"> | |||||
| <DependentUpon>NativeJobDetailDisplay.cs</DependentUpon> | |||||
| </EmbeddedResource> | |||||
| <EmbeddedResource Include="Properties\Resources.resx"> | |||||
| <Generator>ResXFileCodeGenerator</Generator> | |||||
| <LastGenOutput>Resources.Designer.cs</LastGenOutput> | |||||
| <SubType>Designer</SubType> | |||||
| </EmbeddedResource> | |||||
| <EmbeddedResource Include="ServerConnectForm.resx"> | |||||
| <DependentUpon>ServerConnectForm.cs</DependentUpon> | |||||
| </EmbeddedResource> | |||||
| <Compile Include="Properties\Resources.Designer.cs"> | |||||
| <AutoGen>True</AutoGen> | |||||
| <DependentUpon>Resources.resx</DependentUpon> | |||||
| <DesignTime>True</DesignTime> | |||||
| </Compile> | |||||
| <None Include="app.config" /> | |||||
| <None Include="packages.config" /> | |||||
| <None Include="Properties\Settings.settings"> | |||||
| <Generator>SettingsSingleFileGenerator</Generator> | |||||
| <LastGenOutput>Settings.Designer.cs</LastGenOutput> | |||||
| </None> | |||||
| <Compile Include="Properties\Settings.Designer.cs"> | |||||
| <AutoGen>True</AutoGen> | |||||
| <DependentUpon>Settings.settings</DependentUpon> | |||||
| <DesignTimeSharedInput>True</DesignTimeSharedInput> | |||||
| </Compile> | |||||
| <Compile Include="QuartzScheduler.cs" /> | |||||
| <Compile Include="RegistryStore.cs" /> | <Compile Include="RegistryStore.cs" /> | ||||
| <Compile Include="SchedulerNode.cs" /> | |||||
| <Compile Include="ServerConnectForm.cs"> | |||||
| <SubType>Form</SubType> | |||||
| </Compile> | |||||
| <Compile Include="ServerConnectForm.Designer.cs"> | |||||
| <DependentUpon>ServerConnectForm.cs</DependentUpon> | |||||
| </Compile> | |||||
| <Compile Include="CronTriggerDisplay.cs"> | |||||
| <SubType>UserControl</SubType> | |||||
| </Compile> | |||||
| <Compile Include="CronTriggerDisplay.Designer.cs"> | |||||
| <DependentUpon>CronTriggerDisplay.cs</DependentUpon> | |||||
| </Compile> | |||||
| <Compile Include="TriggerNode.cs" /> | |||||
| </ItemGroup> | |||||
| <ItemGroup> | |||||
| <Content Include="JobAssemblies.txt"> | |||||
| <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | |||||
| </Content> | |||||
| </ItemGroup> | |||||
| <ItemGroup> | |||||
| <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> | |||||
| <Visible>False</Visible> | |||||
| <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> | |||||
| <Install>false</Install> | |||||
| </BootstrapperPackage> | |||||
| <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> | |||||
| <Visible>False</Visible> | |||||
| <ProductName>.NET Framework 3.5 SP1</ProductName> | |||||
| <Install>true</Install> | |||||
| </BootstrapperPackage> | |||||
| <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> | |||||
| <Visible>False</Visible> | |||||
| <ProductName>Windows Installer 3.1</ProductName> | |||||
| <Install>true</Install> | |||||
| </BootstrapperPackage> | |||||
| </ItemGroup> | |||||
| <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> | |||||
| <Compile Include="SchedulerNode.cs" /> | |||||
| <Compile Include="ServerConnectForm.cs"> | |||||
| <SubType>Form</SubType> | |||||
| </Compile> | |||||
| <Compile Include="ServerConnectForm.Designer.cs"> | |||||
| <DependentUpon>ServerConnectForm.cs</DependentUpon> | |||||
| </Compile> | |||||
| <Compile Include="CronTriggerDisplay.cs"> | |||||
| <SubType>UserControl</SubType> | |||||
| </Compile> | |||||
| <Compile Include="CronTriggerDisplay.Designer.cs"> | |||||
| <DependentUpon>CronTriggerDisplay.cs</DependentUpon> | |||||
| </Compile> | |||||
| <Compile Include="TriggerNode.cs" /> | |||||
| </ItemGroup> | |||||
| <ItemGroup> | |||||
| <Content Include="JobAssemblies.txt"> | |||||
| <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | |||||
| </Content> | |||||
| </ItemGroup> | |||||
| <ItemGroup> | |||||
| <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> | |||||
| <Visible>False</Visible> | |||||
| <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> | |||||
| <Install>false</Install> | |||||
| </BootstrapperPackage> | |||||
| <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> | |||||
| <Visible>False</Visible> | |||||
| <ProductName>.NET Framework 3.5 SP1</ProductName> | |||||
| <Install>true</Install> | |||||
| </BootstrapperPackage> | |||||
| <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> | |||||
| <Visible>False</Visible> | |||||
| <ProductName>Windows Installer 3.1</ProductName> | |||||
| <Install>true</Install> | |||||
| </BootstrapperPackage> | |||||
| </ItemGroup> | |||||
| <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> | |||||
| <!-- To modify your build process, add your task inside one of the targets below and uncomment it. | <!-- To modify your build process, add your task inside one of the targets below and uncomment it. | ||||
| Other similar extension points exist, see Microsoft.Common.targets. | Other similar extension points exist, see Microsoft.Common.targets. | ||||
| <Target Name="BeforeBuild"> | <Target Name="BeforeBuild"> | ||||
| </Target> | </Target> | ||||
| <Target Name="AfterBuild"> | <Target Name="AfterBuild"> | ||||
| </Target> | </Target> | ||||
| --> | |||||
| --> | |||||
| </Project> | </Project> | ||||
| @@ -112,45 +112,6 @@ | |||||
| this.addJobToolStripMenuItem.Text = "Add"; | this.addJobToolStripMenuItem.Text = "Add"; | ||||
| this.addJobToolStripMenuItem.Click += new System.EventHandler(this.addJobToolStripMenuItem_Click); | this.addJobToolStripMenuItem.Click += new System.EventHandler(this.addJobToolStripMenuItem_Click); | ||||
| // | // | ||||
| // listenersStripMenuItem | |||||
| // | |||||
| this.listenersStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { | |||||
| this.globalListenersToolStripMenuItem, | |||||
| this.addJobListenerToolStripMenuItem}); | |||||
| this.listenersStripMenuItem.Enabled = false; | |||||
| this.listenersStripMenuItem.Name = "listenersStripMenuItem"; | |||||
| this.listenersStripMenuItem.Size = new System.Drawing.Size(65, 20); | |||||
| this.listenersStripMenuItem.Text = "Listeners"; | |||||
| // | |||||
| // globalListenersToolStripMenuItem | |||||
| // | |||||
| this.globalListenersToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { | |||||
| this.addGlobalJobListenerToolStripMenuItem, | |||||
| this.addTriggerListenerToolStripMenuItem}); | |||||
| this.globalListenersToolStripMenuItem.Name = "globalListenersToolStripMenuItem"; | |||||
| this.globalListenersToolStripMenuItem.Size = new System.Drawing.Size(161, 22); | |||||
| this.globalListenersToolStripMenuItem.Text = "Global"; | |||||
| // | |||||
| // addGlobalJobListenerToolStripMenuItem | |||||
| // | |||||
| this.addGlobalJobListenerToolStripMenuItem.Name = "addGlobalJobListenerToolStripMenuItem"; | |||||
| this.addGlobalJobListenerToolStripMenuItem.Size = new System.Drawing.Size(181, 22); | |||||
| this.addGlobalJobListenerToolStripMenuItem.Text = "Add Job Listener"; | |||||
| this.addGlobalJobListenerToolStripMenuItem.Click += new System.EventHandler(this.addGlobalListenerToolStripMenuItem_Click); | |||||
| // | |||||
| // addTriggerListenerToolStripMenuItem | |||||
| // | |||||
| this.addTriggerListenerToolStripMenuItem.Name = "addTriggerListenerToolStripMenuItem"; | |||||
| this.addTriggerListenerToolStripMenuItem.Size = new System.Drawing.Size(181, 22); | |||||
| this.addTriggerListenerToolStripMenuItem.Text = "Add Trigger Listener"; | |||||
| // | |||||
| // addJobListenerToolStripMenuItem | |||||
| // | |||||
| this.addJobListenerToolStripMenuItem.Name = "addJobListenerToolStripMenuItem"; | |||||
| this.addJobListenerToolStripMenuItem.Size = new System.Drawing.Size(161, 22); | |||||
| this.addJobListenerToolStripMenuItem.Text = "Add Job Listener"; | |||||
| this.addJobListenerToolStripMenuItem.Click += new System.EventHandler(this.addJobListenerToolStripMenuItem_Click); | |||||
| // | |||||
| // statusStrip1 | // statusStrip1 | ||||
| // | // | ||||
| this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { | this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { | ||||
| @@ -7,6 +7,7 @@ using System.Linq; | |||||
| using System.Reflection; | using System.Reflection; | ||||
| using System.Text; | using System.Text; | ||||
| using System.Windows.Forms; | using System.Windows.Forms; | ||||
| using Common.Logging; | |||||
| using Quartz; | using Quartz; | ||||
| using Quartz.Collection; | using Quartz.Collection; | ||||
| using System.Net.Sockets; | using System.Net.Sockets; | ||||
| @@ -24,14 +25,7 @@ namespace ClickForensics.Quartz.Manager | |||||
| { | { | ||||
| InitializeComponent(); | InitializeComponent(); | ||||
| jobGroupsTreeView.AfterSelect += new TreeViewEventHandler(jobGroupsTreeView_AfterSelect); | jobGroupsTreeView.AfterSelect += new TreeViewEventHandler(jobGroupsTreeView_AfterSelect); | ||||
| ctxScheduler.Opening += new CancelEventHandler(ctxScheduler_Opening); | |||||
| jobGroupsTreeView.MouseDown += new MouseEventHandler(jobGroupsTreeView_MouseDown); | jobGroupsTreeView.MouseDown += new MouseEventHandler(jobGroupsTreeView_MouseDown); | ||||
| } | |||||
| void ctxScheduler_Opening(object sender, CancelEventArgs e) | |||||
| { | |||||
| } | } | ||||
| void jobGroupsTreeView_AfterSelect(object sender, TreeViewEventArgs e) | void jobGroupsTreeView_AfterSelect(object sender, TreeViewEventArgs e) | ||||
| @@ -83,7 +77,8 @@ namespace ClickForensics.Quartz.Manager | |||||
| private void setPauseButtonText() | private void setPauseButtonText() | ||||
| { | { | ||||
| TriggerNode node = (TriggerNode)jobGroupsTreeView.SelectedNode; | TriggerNode node = (TriggerNode)jobGroupsTreeView.SelectedNode; | ||||
| if (Scheduler.GetScheduler().GetTriggerState(node.Trigger.Key) == TriggerState.Paused) | |||||
| QuartzScheduler scheduler = getScheduler(node); | |||||
| if (scheduler.GetScheduler().GetTriggerState(node.Trigger.Key) == TriggerState.Paused) | |||||
| { | { | ||||
| btnPause.Text = "Resume"; | btnPause.Text = "Resume"; | ||||
| } | } | ||||
| @@ -102,11 +97,11 @@ namespace ClickForensics.Quartz.Manager | |||||
| { | { | ||||
| try | try | ||||
| { | { | ||||
| Scheduler = new QuartzScheduler(form.Server, form.Port, form.Scheduler); | |||||
| serverConnectStatusLabel.Text = string.Format("Connected to {0}", Scheduler.Address); | |||||
| QuartzScheduler scheduler = new QuartzScheduler(form.Server, form.Port, form.Scheduler); | |||||
| serverConnectStatusLabel.Text = string.Format("Connected to {0}", scheduler.Address); | |||||
| connectToolStripMenuItem.Enabled = false; | connectToolStripMenuItem.Enabled = false; | ||||
| jobsToolStripMenuItem.Enabled = true; | jobsToolStripMenuItem.Enabled = true; | ||||
| loadJobGroups(); | |||||
| loadJobGroups(scheduler); | |||||
| updateRunningJobs(); | updateRunningJobs(); | ||||
| } | } | ||||
| catch (SocketException ex) | catch (SocketException ex) | ||||
| @@ -119,18 +114,9 @@ namespace ClickForensics.Quartz.Manager | |||||
| } | } | ||||
| form.Close(); | form.Close(); | ||||
| } | } | ||||
| //loadGlobalTriggers(); | |||||
| } | } | ||||
| //private void loadGlobalTriggers() | |||||
| //{ | |||||
| // foreach (IJobListener jobListener in Scheduler.GetScheduler().GetJobDetail(null,null)..GlobalJobListeners) | |||||
| // { | |||||
| // globalTriggersListView.Items.Add(jobListener.Name); | |||||
| // } | |||||
| //} | |||||
| private void loadJobGroups() | |||||
| private void loadJobGroups(QuartzScheduler scheduler) | |||||
| { | { | ||||
| try | try | ||||
| @@ -138,12 +124,17 @@ namespace ClickForensics.Quartz.Manager | |||||
| this.Cursor = Cursors.WaitCursor; | this.Cursor = Cursors.WaitCursor; | ||||
| jobDetailsToggle(false); | jobDetailsToggle(false); | ||||
| jobGroupsTreeView.Nodes.Clear(); | |||||
| SchedulerNode schedulerNode = new SchedulerNode(Scheduler); | |||||
| SchedulerNode schedulerNode = new SchedulerNode(scheduler); | |||||
| if (jobGroupsTreeView.Nodes.ContainsKey(schedulerNode.Name)) | |||||
| { | |||||
| jobGroupsTreeView.Nodes.RemoveByKey(schedulerNode.Name); | |||||
| } | |||||
| schedulerNode.ContextMenuStrip = ctxScheduler; | schedulerNode.ContextMenuStrip = ctxScheduler; | ||||
| jobGroupsTreeView.Nodes.Add(schedulerNode); | jobGroupsTreeView.Nodes.Add(schedulerNode); | ||||
| TreeNode jobGroupsNode = schedulerNode.Nodes.Add("Job Groups"); | TreeNode jobGroupsNode = schedulerNode.Nodes.Add("Job Groups"); | ||||
| var jobGroups = Scheduler.GetScheduler().GetJobGroupNames(); | |||||
| var jobGroups = scheduler.GetScheduler().GetJobGroupNames(); | |||||
| foreach (string jobGroup in jobGroups) | foreach (string jobGroup in jobGroups) | ||||
| { | { | ||||
| TreeNode jobGroupNode = jobGroupsNode.Nodes.Add(jobGroup); | TreeNode jobGroupNode = jobGroupsNode.Nodes.Add(jobGroup); | ||||
| @@ -203,6 +194,7 @@ namespace ClickForensics.Quartz.Manager | |||||
| } | } | ||||
| catch (Exception ex) | catch (Exception ex) | ||||
| { | { | ||||
| _Log.Error("Error loading orphan jobs.", ex); | |||||
| schedulerNode.Nodes.Add(string.Format("Unable to add job {0})", jobKey.Name)); | schedulerNode.Nodes.Add(string.Format("Unable to add job {0})", jobKey.Name)); | ||||
| } | } | ||||
| } | } | ||||
| @@ -230,53 +222,35 @@ namespace ClickForensics.Quartz.Manager | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| //private void loadJobs() | |||||
| //{ | |||||
| // foreach (TreeNode node in jobGroupsTreeView.Nodes) | |||||
| // { | |||||
| // addJobNodes(node); | |||||
| // } | |||||
| //} | |||||
| private void addJobNodes(TreeNode node) | private void addJobNodes(TreeNode node) | ||||
| { | { | ||||
| string group = node.Parent.Text; | string group = node.Parent.Text; | ||||
| var groupMatcher = GroupMatcher<JobKey>.GroupContains(group); | var groupMatcher = GroupMatcher<JobKey>.GroupContains(group); | ||||
| var jobKeys = Scheduler.GetScheduler().GetJobKeys(groupMatcher); | |||||
| QuartzScheduler scheduler = getScheduler(node); | |||||
| var jobKeys = scheduler.GetScheduler().GetJobKeys(groupMatcher); | |||||
| foreach (var jobKey in jobKeys) | foreach (var jobKey in jobKeys) | ||||
| { | { | ||||
| try | try | ||||
| { | { | ||||
| IJobDetail detail = Scheduler.GetScheduler().GetJobDetail(jobKey); | |||||
| IJobDetail detail = scheduler.GetScheduler().GetJobDetail(jobKey); | |||||
| JobNode jobNode = new JobNode(detail); | JobNode jobNode = new JobNode(detail); | ||||
| node.Nodes.Add(jobNode); | node.Nodes.Add(jobNode); | ||||
| addTriggerNodes(jobNode); | addTriggerNodes(jobNode); | ||||
| addListenerNodes(jobNode); | |||||
| } | } | ||||
| catch (Exception ex) | catch (Exception ex) | ||||
| { | { | ||||
| node.Nodes.Add(string.Format("Unknown Job Type ({0})", jobKey.Name)); | node.Nodes.Add(string.Format("Unknown Job Type ({0})", jobKey.Name)); | ||||
| //TODO: Do something useful with this exception. Most likely cause is the client does not have a copy of a given dll and can't load the type. | //TODO: Do something useful with this exception. Most likely cause is the client does not have a copy of a given dll and can't load the type. | ||||
| _Log.Error("Error loading jobs.", ex); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| private void addListenerNodes(JobNode node) | |||||
| { | |||||
| string jobName = node.Text; | |||||
| string jobGroupName = node.Parent.Text; | |||||
| //TODO: see joblistenermanager get listeners | |||||
| //string[] listenerNames = node.Detail.JobListenerNames; | |||||
| //foreach (string listener in listenerNames) | |||||
| //{ | |||||
| // node.Text = string.Format("JL {0}", listenerNames); | |||||
| //} | |||||
| //ISet set = Scheduler.GetScheduler().JobListenerNames; | |||||
| } | |||||
| private void addTriggerNodes(TreeNode treeNode) | private void addTriggerNodes(TreeNode treeNode) | ||||
| { | { | ||||
| var triggers = Scheduler.GetScheduler().GetTriggersOfJob(new JobKey(treeNode.Text, treeNode.Parent.Parent.Text)); | |||||
| QuartzScheduler scheduler = getScheduler(treeNode); | |||||
| var triggers = scheduler.GetScheduler().GetTriggersOfJob(new JobKey(treeNode.Text, treeNode.Parent.Parent.Text)); | |||||
| TreeNode triggersNode = treeNode.Nodes.Add("Triggers"); | TreeNode triggersNode = treeNode.Nodes.Add("Triggers"); | ||||
| foreach (var trigger in triggers) | foreach (var trigger in triggers) | ||||
| { | { | ||||
| @@ -309,54 +283,42 @@ namespace ClickForensics.Quartz.Manager | |||||
| timer_Refresh_Running_Jobs.Stop(); | timer_Refresh_Running_Jobs.Stop(); | ||||
| listView_RunningJobs.Items.Clear(); | listView_RunningJobs.Items.Clear(); | ||||
| DataTable table = Scheduler.GetRunningJobs(); | |||||
| foreach (DataRow row in table.Rows) | |||||
| foreach (var quartzScheduler in getAllSchedulers()) | |||||
| { | { | ||||
| //JobName JobDuration | |||||
| ListViewItem item = new ListViewItem(new string[] { Convert.ToString(row["JobName"]), Convert.ToString(row["Runtime"]) }); | |||||
| listView_RunningJobs.Items.Add(item); | |||||
| DataTable table = quartzScheduler.GetRunningJobs(); | |||||
| foreach (DataRow row in table.Rows) | |||||
| { | |||||
| ListViewItem item = | |||||
| new ListViewItem(new string[] { Convert.ToString(row["JobName"]), Convert.ToString(row["Runtime"]) }); | |||||
| listView_RunningJobs.Items.Add(item); | |||||
| } | |||||
| } | } | ||||
| StripStatusLabel_Jobs_Refresh_date.Text = DateTime.Now.ToString("yyyy.MM.dd HH:mm.ss"); | StripStatusLabel_Jobs_Refresh_date.Text = DateTime.Now.ToString("yyyy.MM.dd HH:mm.ss"); | ||||
| //reset the timer ( documentation not clear if .stop = restart @ 0 in timing, but changing the interval sure should do that. ) | |||||
| int timer_was = timer_Refresh_Running_Jobs.Interval; | int timer_was = timer_Refresh_Running_Jobs.Interval; | ||||
| timer_Refresh_Running_Jobs.Interval = timer_was + 1; | timer_Refresh_Running_Jobs.Interval = timer_was + 1; | ||||
| timer_Refresh_Running_Jobs.Interval = timer_was; | timer_Refresh_Running_Jobs.Interval = timer_was; | ||||
| timer_Refresh_Running_Jobs.Start(); | timer_Refresh_Running_Jobs.Start(); | ||||
| } | } | ||||
| catch (Exception ex) | |||||
| { | |||||
| _Log.Error("Unable to load running jobs", ex); | |||||
| } | |||||
| finally | finally | ||||
| { | { | ||||
| this.Cursor = Cursors.Default; | this.Cursor = Cursors.Default; | ||||
| } | } | ||||
| } | } | ||||
| public QuartzScheduler Scheduler { get; set; } | |||||
| private void addGlobalListenerToolStripMenuItem_Click(object sender, EventArgs e) | |||||
| { | |||||
| AddListenerForm form = new AddListenerForm(); | |||||
| form.ListenerInterface = typeof(IJobListener); | |||||
| form.ShowDialog(); | |||||
| JobDataMap map = new JobDataMap(); | |||||
| map.Add("type", form.ListenerType); | |||||
| //Scheduler.ScheduleOneTimeJob(typeof(AddJobListenerJob), map, 0); | |||||
| loadJobGroups(); | |||||
| } | |||||
| private void addJobListenerToolStripMenuItem_Click(object sender, EventArgs e) | |||||
| private List<QuartzScheduler> getAllSchedulers() | |||||
| { | { | ||||
| TreeNode selectedNode = jobGroupsTreeView.SelectedNode; | |||||
| if (selectedNode != null && selectedNode is JobNode) | |||||
| List<QuartzScheduler> schedulers = new List<QuartzScheduler>(); | |||||
| foreach (var node in jobGroupsTreeView.Nodes) | |||||
| { | { | ||||
| AddListenerForm form = new AddListenerForm(); | |||||
| form.ListenerInterface = typeof(IJobListener); | |||||
| form.ShowDialog(); | |||||
| //JobHistoryListener listener = new JobHistoryListener(); | |||||
| //listener.Name = null; | |||||
| //((JobNode)selectedNode).Detail.AddJobListener(); | |||||
| schedulers.Add(((SchedulerNode)node).Scheduler); | |||||
| } | } | ||||
| return schedulers; | |||||
| } | } | ||||
| private void addJobToolStripMenuItem_Click(object sender, EventArgs e) | private void addJobToolStripMenuItem_Click(object sender, EventArgs e) | ||||
| @@ -365,11 +327,18 @@ namespace ClickForensics.Quartz.Manager | |||||
| form.ShowDialog(); | form.ShowDialog(); | ||||
| if (form.JobDetail != null && form.Trigger != null) | if (form.JobDetail != null && form.Trigger != null) | ||||
| { | { | ||||
| Scheduler.GetScheduler().ScheduleJob(form.JobDetail, form.Trigger); | |||||
| loadJobGroups(); | |||||
| QuartzScheduler scheduler = getSelectedScheduler(); | |||||
| scheduler.GetScheduler().ScheduleJob(form.JobDetail, form.Trigger); | |||||
| loadJobGroups(scheduler); | |||||
| } | } | ||||
| } | } | ||||
| private QuartzScheduler getSelectedScheduler() | |||||
| { | |||||
| TreeNode node = jobGroupsTreeView.SelectedNode; | |||||
| return getScheduler(node); | |||||
| } | |||||
| private void btnRefreshRunningJobs_Click(object sender, EventArgs e) | private void btnRefreshRunningJobs_Click(object sender, EventArgs e) | ||||
| { | { | ||||
| updateRunningJobs(); | updateRunningJobs(); | ||||
| @@ -377,13 +346,18 @@ namespace ClickForensics.Quartz.Manager | |||||
| private void btnRefreshJobGroups_Click(object sender, EventArgs e) | private void btnRefreshJobGroups_Click(object sender, EventArgs e) | ||||
| { | { | ||||
| loadJobGroups(); | |||||
| List<QuartzScheduler> schedulers = getAllSchedulers(); | |||||
| foreach (var quartzScheduler in schedulers) | |||||
| { | |||||
| loadJobGroups(quartzScheduler); | |||||
| } | |||||
| } | } | ||||
| private void btnRunJobNow_Click(object sender, EventArgs e) | private void btnRunJobNow_Click(object sender, EventArgs e) | ||||
| { | { | ||||
| JobNode node = (JobNode)jobGroupsTreeView.SelectedNode; | JobNode node = (JobNode)jobGroupsTreeView.SelectedNode; | ||||
| Scheduler.GetScheduler().TriggerJob(node.Detail.Key); | |||||
| QuartzScheduler scheduler = getScheduler(node); | |||||
| scheduler.GetScheduler().TriggerJob(node.Detail.Key); | |||||
| } | } | ||||
| private void btnDeleteJob_Click(object sender, EventArgs e) | private void btnDeleteJob_Click(object sender, EventArgs e) | ||||
| @@ -392,41 +366,52 @@ namespace ClickForensics.Quartz.Manager | |||||
| if (selectedNode is JobNode) | if (selectedNode is JobNode) | ||||
| { | { | ||||
| JobNode node = (JobNode)jobGroupsTreeView.SelectedNode; | JobNode node = (JobNode)jobGroupsTreeView.SelectedNode; | ||||
| Scheduler.GetScheduler().DeleteJob(node.Detail.Key); | |||||
| QuartzScheduler scheduler = getScheduler(selectedNode); | |||||
| scheduler.GetScheduler().DeleteJob(node.Detail.Key); | |||||
| jobGroupsTreeView.SelectedNode.Remove(); | jobGroupsTreeView.SelectedNode.Remove(); | ||||
| } | } | ||||
| if (selectedNode is TriggerNode) | if (selectedNode is TriggerNode) | ||||
| { | { | ||||
| Scheduler.GetScheduler().UnscheduleJob(((TriggerNode)selectedNode).Trigger.Key); | |||||
| QuartzScheduler scheduler = getScheduler(selectedNode); | |||||
| scheduler.GetScheduler().UnscheduleJob(((TriggerNode)selectedNode).Trigger.Key); | |||||
| } | } | ||||
| //loadJobGroups(); | |||||
| } | } | ||||
| private void btnPause_Click(object sender, EventArgs e) | private void btnPause_Click(object sender, EventArgs e) | ||||
| { | { | ||||
| TriggerNode node = (TriggerNode)jobGroupsTreeView.SelectedNode; | TriggerNode node = (TriggerNode)jobGroupsTreeView.SelectedNode; | ||||
| if (Scheduler.GetScheduler().GetTriggerState(node.Trigger.Key) == TriggerState.Paused) | |||||
| QuartzScheduler scheduler = getScheduler(node); | |||||
| if (scheduler.GetScheduler().GetTriggerState(node.Trigger.Key) == TriggerState.Paused) | |||||
| { | { | ||||
| Scheduler.GetScheduler().ResumeTrigger(node.Trigger.Key); | |||||
| scheduler.GetScheduler().ResumeTrigger(node.Trigger.Key); | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| Scheduler.GetScheduler().PauseTrigger(node.Trigger.Key); | |||||
| scheduler.GetScheduler().PauseTrigger(node.Trigger.Key); | |||||
| } | } | ||||
| setPauseButtonText(); | setPauseButtonText(); | ||||
| } | } | ||||
| private QuartzScheduler getScheduler(TreeNode node) | |||||
| { | |||||
| if (node is SchedulerNode) | |||||
| { | |||||
| return ((SchedulerNode)node).Scheduler; | |||||
| } | |||||
| return getScheduler(node.Parent); | |||||
| } | |||||
| private void btnEdit_Click(object sender, EventArgs e) | private void btnEdit_Click(object sender, EventArgs e) | ||||
| { | { | ||||
| TriggerNode node = (TriggerNode)jobGroupsTreeView.SelectedNode; | TriggerNode node = (TriggerNode)jobGroupsTreeView.SelectedNode; | ||||
| QuartzScheduler scheduler = getScheduler(node); | |||||
| AddJobForm form = new AddJobForm(node); | AddJobForm form = new AddJobForm(node); | ||||
| form.ShowDialog(); | form.ShowDialog(); | ||||
| if (form.JobDetail != null && form.Trigger != null) | if (form.JobDetail != null && form.Trigger != null) | ||||
| { | { | ||||
| Scheduler.GetScheduler().RescheduleJob(node.Trigger.Key, form.Trigger); | |||||
| loadJobGroups(); | |||||
| scheduler.GetScheduler().RescheduleJob(node.Trigger.Key, form.Trigger); | |||||
| loadJobGroups(scheduler); | |||||
| } | } | ||||
| } | } | ||||
| @@ -462,6 +447,7 @@ namespace ClickForensics.Quartz.Manager | |||||
| form.Close(); | form.Close(); | ||||
| } | } | ||||
| } | } | ||||
| private static readonly ILog _Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | |||||
| } | } | ||||
| } | } | ||||
| @@ -0,0 +1,4 @@ | |||||
| <?xml version="1.0" encoding="utf-8"?> | |||||
| <packages> | |||||
| <package id="log4net" version="1.2.10" /> | |||||
| </packages> | |||||
| @@ -0,0 +1,4 @@ | |||||
| <?xml version="1.0" encoding="utf-8"?> | |||||
| <repositories> | |||||
| <repository path="..\ClickForensics.Quartz.Manager\packages.config" /> | |||||
| </repositories> | |||||