firstrelease

This commit is contained in:
Domi 2024-01-28 22:37:37 +01:00
parent b254416e3c
commit 157b2af5e4
6 changed files with 371 additions and 133 deletions

View File

@ -8,13 +8,19 @@ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6E77662E-82C3-4913-8964-5A452B229F78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6E77662E-82C3-4913-8964-5A452B229F78}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6E77662E-82C3-4913-8964-5A452B229F78}.Debug|x64.ActiveCfg = Debug|x64
{6E77662E-82C3-4913-8964-5A452B229F78}.Debug|x64.Build.0 = Debug|x64
{6E77662E-82C3-4913-8964-5A452B229F78}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6E77662E-82C3-4913-8964-5A452B229F78}.Release|Any CPU.Build.0 = Release|Any CPU
{6E77662E-82C3-4913-8964-5A452B229F78}.Release|x64.ActiveCfg = Release|x64
{6E77662E-82C3-4913-8964-5A452B229F78}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -0,0 +1,3 @@
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
<Costura />
</Weavers>

View File

@ -5,13 +5,16 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:OfficeConverter"
mc:Ignorable="d"
Title="MainWindow" Height="866" Width="1099" Background="#FF1A1A1A">
Title="OfficeConverter 1.0" Height="715" Width="1045" Background="#FF1A1A1A">
<Grid Background="#FF424242">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="356*"/>
<ColumnDefinition Width="689*"/>
</Grid.ColumnDefinitions>
<Grid Margin="0,70,0,0" Background="#FF1A1A1A" Grid.ColumnSpan="2">
<GroupBox x:Name="grpFolders" Header="grpFolders" Margin="10,10,395,0" RenderTransformOrigin="0.5,0.5" Height="276" VerticalAlignment="Top">
<GroupBox x:Name="grpFolders" Header="grpFolders" Margin="10,10,0,0" RenderTransformOrigin="0.5,0.5" Height="276" VerticalAlignment="Top" HorizontalAlignment="Left" Width="694">
<GroupBox.RenderTransform>
<TransformGroup>
<ScaleTransform/>
@ -24,37 +27,37 @@
<Label x:Name="lblSouceFolder" Content="lblSource" VerticalAlignment="Top"/>
<TextBox x:Name="txtSourceFolder" HorizontalAlignment="Left" Margin="0,33,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="540" Text="D:\testconvert"/>
<Button x:Name="btnSourceFolder" Content="btnSource" Margin="545,33,0,0" VerticalAlignment="Top" Click="btnSourceFolder_Click"/>
<CheckBox x:Name="chkSubfolders" Content="chkSubfolders" HorizontalAlignment="Left" Margin="0,68,0,0" Click="chkSubfolders_Clicked" VerticalAlignment="Top" Checked="chkSubfolders_Checked"/>
<CheckBox x:Name="chkReplace" Content="chkReplace" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,103,0,0" Click="chkReplace_Clicked" RenderTransformOrigin="0.85,0.268" Checked="chkReplace_Checked"/>
<CheckBox x:Name="chkSubfolders" Content="chkSubfolders" HorizontalAlignment="Left" Margin="0,68,0,0" Click="chkSubfolders_Clicked" VerticalAlignment="Top"/>
<CheckBox x:Name="chkReplace" Content="chkReplace" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,103,0,0" Click="chkReplace_Clicked" RenderTransformOrigin="0.85,0.268"/>
<Label x:Name="lblDestFolder" Content="lblDest" VerticalAlignment="Top" Margin="0,138,0,0"/>
<TextBox x:Name="txtDestFolder" HorizontalAlignment="Left" Margin="0,171,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="540" TextChanged="txtDestFolder_TextChanged" Text="D:\testexport"/>
<TextBox x:Name="txtDestFolder" HorizontalAlignment="Left" Margin="0,171,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="540" />
<Button x:Name="btnDestFolder" Content="btnDest" Margin="545,171,0,0" VerticalAlignment="Top" Click="btnDestFolder_Click"/>
</Grid>
</GroupBox>
<GroupBox x:Name="grpFiles" Header="grpFiles" Margin="709,10,90,0" Height="147" VerticalAlignment="Top">
<GroupBox x:Name="grpFiles" Header="grpFiles" Margin="709,10,0,0" Height="147" VerticalAlignment="Top" HorizontalAlignment="Left" Width="300">
<Grid>
<CheckBox x:Name="chkWord" Content="Word .doc" HorizontalAlignment="Left" Margin="0,10,0,0" VerticalAlignment="Top"/>
<CheckBox x:Name="chkExcel" Content="Excel .xls" HorizontalAlignment="Left" Margin="0,45,0,0" VerticalAlignment="Top"/>
<CheckBox x:Name="chkPowerpoint" Content="PowerPoint .ppt" HorizontalAlignment="Left" Margin="0,80,0,0" VerticalAlignment="Top"/>
</Grid>
</GroupBox>
<GroupBox x:Name="grpSourceFiles" Header="grpSourceFiles" Margin="10,291,592,0" Height="259" VerticalAlignment="Top">
<GroupBox x:Name="grpSourceFiles" Header="grpSourceFiles" Margin="10,291,0,0" Height="259" VerticalAlignment="Top" HorizontalAlignment="Left" Width="497">
<Grid>
<ListBox x:Name="lstSourceFiles" ItemsSource="{Binding combinedFiles}"/>
</Grid>
</GroupBox>
<GroupBox x:Name="grpDestFiles" Header="grpDestFiles" Margin="512,291,90,0" Height="259" VerticalAlignment="Top">
<GroupBox x:Name="grpDestFiles" Header="grpDestFiles" Margin="512,291,0,0" Height="259" VerticalAlignment="Top" HorizontalAlignment="Left" Width="497">
<Grid>
<ListBox x:Name="lstDestFiles" ItemsSource="{Binding convertedFiles}" />
</Grid>
</GroupBox>
<Button x:Name="btnConvert" Content="Button" HorizontalAlignment="Left" Margin="835,187,0,0" VerticalAlignment="Top" Width="174" Height="66" Click="btnConvert_Click"/>
<Button x:Name="btnConvert" Content="Button" HorizontalAlignment="Left" Margin="835,162,0,0" VerticalAlignment="Top" Width="174" Height="66" Click="btnConvert_Click"/>
<Label x:Name="lblState" Content="lblState" HorizontalAlignment="Left" Margin="709,258,0,0" VerticalAlignment="Top" Width="300" Height="28"/>
<Button x:Name="btnExport" Content="btnExport" HorizontalAlignment="Left" Height="33" Margin="915,555,0,0" VerticalAlignment="Top" Width="94" Click="btnExport_Click"/>
<Button x:Name="btnDelete" Content="btnDelete" HorizontalAlignment="Left" Margin="793,555,0,0" VerticalAlignment="Top" Width="117" Height="33" Click="btnDelete_Click"/>
</Grid>
<Label Content="Office Document Converter" HorizontalAlignment="Left" Margin="10,16,0,0" VerticalAlignment="Top" Width="277" FontSize="20"/>
<ComboBox x:Name="cmbLang" HorizontalAlignment="Left" Margin="826,33,0,0" VerticalAlignment="Top" Width="120" SelectionChanged="cmbLang_SelectionChanged"/>
<ComboBox x:Name="cmbLang" HorizontalAlignment="Left" Margin="470,33,0,0" VerticalAlignment="Top" Width="120" SelectionChanged="cmbLang_SelectionChanged" Grid.Column="1"/>
</Grid>
</Window>

View File

@ -1,20 +1,17 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using Word = Microsoft.Office.Interop.Word;
using Forms = System.Windows.Forms;
using System.Threading.Tasks;
using Excel = Microsoft.Office.Interop.Excel;
using Forms = System.Windows.Forms;
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using System.Threading;
using System.Windows.Media.TextFormatting;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Diagnostics;
using Word = Microsoft.Office.Interop.Word;
namespace OfficeConverter
{
@ -23,13 +20,15 @@ namespace OfficeConverter
/// </summary>
public partial class MainWindow : Window
{
//Definiere Background workder für die Konvertierung
//Definiere Background worker für die Konvertierung
private BackgroundWorker backgroundWorker;
private CancellationTokenSource cancellationTokenSource;
//Definiter listen für die Anzeige im GUI
List<string> combinedFiles = new List<string>();
List<string> convertedFiles = new List<string>();
//Globalvariables
bool doSubfolders = false;
bool doReplace = false;
bool doWord = false;
@ -55,8 +54,11 @@ namespace OfficeConverter
backgroundWorker.ProgressChanged += BackgroundWorker_ProgressChanged;
backgroundWorker.RunWorkerCompleted += BackgroundWorker_RunWorkerCompleted;
lblState.Content = "Ready";
cancellationTokenSource = new CancellationTokenSource();
}
//Konvertier-Button
private void btnConvert_Click(object sender, RoutedEventArgs e)
{
string folderPath = txtSourceFolder.Text;
@ -87,42 +89,73 @@ namespace OfficeConverter
System.Windows.MessageBox.Show("Conversion is already in progress. Please wait for the current operation to finish.");
}
}
//Background Worker
private async void BackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
// Clear the list of converted files at the beginning of each conversion
convertedFiles.Clear();
string folderPath = e.Argument as string;
// Disable buttons during conversion
// Use Dispatcher.Invoke to access UI elements from the UI thread
System.Windows.Application.Current.Dispatcher.Invoke(() =>
{
// Check if txtDestFolder is empty and doReplace is false
if (string.IsNullOrWhiteSpace(txtDestFolder.Text) && !doReplace)
{
// Show a warning message in a MessageBox
System.Windows.MessageBox.Show("Destination folder is required when 'Replace files' is not selected.", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
// Cancel the task
e.Cancel = true;
cancellationTokenSource.Cancel();
return;
}
// Disable buttons during conversion
UpdateButtonStates(false);
// Initialize the CancellationTokenSource
cancellationTokenSource = new CancellationTokenSource();
});
if (Directory.Exists(folderPath))
try
{
try
{
await SearchAndConvertDocs(folderPath);
}
catch (Exception ex)
{
System.Windows.MessageBox.Show($"Error: {ex.Message}");
}
// Pass the cancellation token to SearchAndConvertDocs
await SearchAndConvertDocs(folderPath, cancellationTokenSource.Token);
}
else
catch (OperationCanceledException)
{
// Handle cancellation if needed
}
finally
{
// Use Dispatcher.Invoke to update UI elements from the UI thread
System.Windows.Application.Current.Dispatcher.Invoke(() =>
{
System.Windows.MessageBox.Show("Ungültiger Ordnerpfad.");
// Clear the UI-bound collection
combinedFiles.Clear();
// Add the contents of the combinedFiles list to the UI-bound collection
combinedFiles.ForEach(file => lstSourceFiles.Items.Add(file));
// Enable buttons after conversion completion
UpdateButtonStates(true);
});
}
}
private void BackgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
// Update the UI with the progress value
//progressBar.Value = e.ProgressPercentage;
}
private void BackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
// Perform any additional tasks after the background work is completed
// Enable buttons after conversion completion
UpdateButtonStates(true);
}
private async Task SearchAndConvertDocs(string folderPath)
private async Task SearchAndConvertDocs(string folderPath, CancellationToken cancellationToken)
{
string[] docFiles = null;
string[] xlsFiles = null;
@ -141,7 +174,6 @@ namespace OfficeConverter
pptFiles = Directory.GetFiles(folderPath, "*.ppt");
}
//List<string> currentFolderFiles = new List<string>();
// Check for null before adding to combinedFiles
if (docFiles != null)
{
@ -158,20 +190,27 @@ namespace OfficeConverter
Console.WriteLine($"Processing files in folder: {folderPath}");
// Create a copy of the collection to avoid modification during iteration
/// Create a copy of the collection to avoid modification during iteration
List<string> snapshot = new List<string>(combinedFiles);
// Iterate over currentFolderFiles and start the conversion asynchronously
await Task.Run(async () =>
// Check for cancellation after creating the snapshot
cancellationToken.ThrowIfCancellationRequested();
try
{
// Iterate over currentFolderFiles and start the conversion asynchronously
foreach (var docFile in snapshot)
{
// Check for cancellation before each iteration
cancellationToken.ThrowIfCancellationRequested();
Console.WriteLine($"Converting file: {docFile}");
try
{
await ConvertFileToNewFormatAsync(docFile);
Console.WriteLine($"DisplayCombinedFiles called");
DisplayCombinedFiles();
}
@ -183,7 +222,20 @@ namespace OfficeConverter
Console.WriteLine($"Task completed for file: {docFile}");
}
});
// Check for cancellation before displaying the completion message
cancellationToken.ThrowIfCancellationRequested();
// Clear the list of combined files if the operation was cancelled
if (cancellationToken.IsCancellationRequested)
{
combinedFiles.Clear();
}
}
catch (OperationCanceledException)
{
// Handle cancellation if needed
}
// Recursively process subfolders
if (doSubfolders)
@ -191,25 +243,25 @@ namespace OfficeConverter
string[] subfolders = Directory.GetDirectories(folderPath);
foreach (var subfolder in subfolders)
{
// Await the completion of the recursive call
await SearchAndConvertDocs(subfolder);
// Pass the cancellation token to the recursive call
await SearchAndConvertDocs(subfolder, cancellationToken);
// Check for cancellation after processing each subfolder
if (cancellationToken.IsCancellationRequested)
{
// Stop processing if cancellation is requested
break;
}
}
}
System.Windows.Application.Current.Dispatcher.Invoke(() =>
{
lblState.Content = "Background work completed!";
});
DisplayCombinedFiles();
}
private async Task ConvertFileToNewFormatAsync(string filePath)
{
await Task.Run(() =>
@ -293,8 +345,6 @@ namespace OfficeConverter
KillProcess("EXCEL");
}
}
private void ConvertPptToPptx(string pptFile, bool doSubfolders, bool doReplace)
{
PowerPoint.Application pptApp = new PowerPoint.Application();
@ -335,7 +385,6 @@ namespace OfficeConverter
pptApp.Quit();
}
}
private void ConvertDocToDocx(string docFile, bool doSubfolders, bool doReplace)
{
Word.Application wordApp = new Word.Application();
@ -374,7 +423,6 @@ namespace OfficeConverter
KillProcess("WINWORD");
}
}
private void KillProcess(string processName)
{
try
@ -390,7 +438,6 @@ namespace OfficeConverter
}
}
// Helper method to determine the target folder path
private string GetTargetFolderPath(bool doReplace, bool doSubfolders, string docFilePath)
{
@ -429,15 +476,6 @@ namespace OfficeConverter
return targetFolder;
}
private string GetRelativePath(string fullPath, string basePath)
{
Uri baseUri = new Uri(basePath + (basePath.EndsWith("\\") ? "" : "\\"));
@ -455,26 +493,6 @@ namespace OfficeConverter
return relativePath;
}
private void BackgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
// Update the UI with the progress value
//progressBar.Value = e.ProgressPercentage;
}
private void BackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
// Perform any additional tasks after the background work is completed
// Enable buttons after conversion completion
}
private void setLangEN()
{
grpFolders.Header = "Folders";
@ -490,7 +508,6 @@ namespace OfficeConverter
btnConvert.Content = "Convert";
btnDelete.Content = "Delete Files";
btnExport.Content = "Export list";
}
private void setLangDE()
{
@ -508,14 +525,6 @@ namespace OfficeConverter
btnDelete.Content = "Dateien löschen";
btnExport.Content = "Liste exportieren";
}
private void txtDestFolder_TextChanged(object sender, TextChangedEventArgs e)
{
}
private void btnDestFolder_Click(object sender, RoutedEventArgs e)
{
using (var folderBrowserDialog = new Forms.FolderBrowserDialog())
@ -529,7 +538,6 @@ namespace OfficeConverter
}
}
private void DisplayCombinedFiles()
{
if (combinedFiles != null)
@ -543,10 +551,6 @@ namespace OfficeConverter
});
}
}
private void btnSourceFolder_Click(object sender, RoutedEventArgs e)
{
using (var folderBrowserDialog = new Forms.FolderBrowserDialog())
@ -603,16 +607,6 @@ namespace OfficeConverter
else { doSubfolders = false; }
}
private void chkSubfolders_Checked(object sender, RoutedEventArgs e)
{
}
private void chkReplace_Checked(object sender, RoutedEventArgs e)
{
}
private void ExportConvertedFilesToFile(string filePath)
{
try
@ -699,9 +693,5 @@ namespace OfficeConverter
btnDelete.IsEnabled = isEnabled;
});
}
}
}

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Costura.Fody.5.7.0\build\Costura.Fody.props" Condition="Exists('..\packages\Costura.Fody.5.7.0\build\Costura.Fody.props')" />
<Import Project="..\packages\ILMerge.3.0.41\build\ILMerge.props" Condition="Exists('..\packages\ILMerge.3.0.41\build\ILMerge.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
@ -21,16 +22,15 @@
</NuGetPackageImportStamp>
<PublishUrl>D:\OneDrive - wyniger\Design &amp; Development\Code\Publish\DocConvert\</PublishUrl>
<Install>true</Install>
<InstallFrom>Unc</InstallFrom>
<UpdateEnabled>true</UpdateEnabled>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<InstallUrl>\\localhost\d%24\testconvert\</InstallUrl>
<ApplicationRevision>3</ApplicationRevision>
<ApplicationRevision>5</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<PublishWizardCompleted>true</PublishWizardCompleted>
@ -67,28 +67,210 @@
<PropertyGroup>
<SignManifests>true</SignManifests>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="Costura, Version=5.7.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Costura.Fody.5.7.0\lib\netstandard1.0\Costura.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Win32.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System">
<Private>True</Private>
</Reference>
<Reference Include="System.AppContext, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.AppContext.4.3.0\lib\net463\System.AppContext.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.ComponentModel.Composition">
<Private>True</Private>
</Reference>
<Reference Include="System.Console, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Console.4.3.0\lib\net46\System.Console.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Data">
<Private>True</Private>
</Reference>
<Reference Include="System.Diagnostics.DiagnosticSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.4.3.0\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
<Reference Include="System.Diagnostics.Tracing, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.Tracing.4.3.0\lib\net462\System.Diagnostics.Tracing.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Globalization.Calendars, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Globalization.Calendars.4.3.0\lib\net46\System.Globalization.Calendars.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Compression.FileSystem">
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Compression.ZipFile, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.ZipFile.4.3.0\lib\net46\System.IO.Compression.ZipFile.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Linq, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Linq.4.3.0\lib\net463\System.Linq.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Linq.Expressions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Linq.Expressions.4.3.0\lib\net463\System.Linq.Expressions.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Http.4.3.0\lib\net46\System.Net.Http.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Numerics">
<Private>True</Private>
</Reference>
<Reference Include="System.Reflection, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Reflection.4.3.0\lib\net462\System.Reflection.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.Extensions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.InteropServices, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.4.3.0\lib\net463\System.Runtime.InteropServices.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Text.RegularExpressions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Windows.Controls.Input.Toolkit, Version=3.5.40128.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Infragistics.Themes.MetroDark.Wpf.1.0.0\lib\net40\System.Windows.Controls.Input.Toolkit.dll</HintPath>
</Reference>
<Reference Include="System.Windows.Controls.Layout.Toolkit, Version=3.5.40128.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Infragistics.Themes.MetroDark.Wpf.1.0.0\lib\net40\System.Windows.Controls.Layout.Toolkit.dll</HintPath>
</Reference>
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms">
<Private>True</Private>
</Reference>
<Reference Include="System.Xml">
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.CSharp">
<Private>True</Private>
</Reference>
<Reference Include="System.Core">
<Private>True</Private>
</Reference>
<Reference Include="System.Xml.Linq">
<Private>True</Private>
</Reference>
<Reference Include="System.Data.DataSetExtensions">
<Private>True</Private>
</Reference>
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
<Private>True</Private>
</Reference>
<Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="WindowsBase">
<Private>True</Private>
</Reference>
<Reference Include="PresentationCore">
<Private>True</Private>
</Reference>
<Reference Include="PresentationFramework">
<Private>True</Private>
</Reference>
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="WPFToolkit, Version=3.5.40128.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Infragistics.Themes.MetroDark.Wpf.1.0.0\lib\net40\WPFToolkit.dll</HintPath>
</Reference>
@ -109,6 +291,7 @@
<Compile Include="MainWindow.xaml.cs">
<DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Page Include="Themes\MetroDark\MetroDark.MSControls.Core.Implicit.xaml">
<Generator>MSBuild:Compile</Generator>
@ -230,5 +413,10 @@
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\ILMerge.3.0.41\build\ILMerge.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ILMerge.3.0.41\build\ILMerge.props'))" />
<Error Condition="!Exists('..\packages\Fody.6.5.5\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.6.5.5\build\Fody.targets'))" />
<Error Condition="!Exists('..\packages\Costura.Fody.5.7.0\build\Costura.Fody.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Costura.Fody.5.7.0\build\Costura.Fody.props'))" />
<Error Condition="!Exists('..\packages\Costura.Fody.5.7.0\build\Costura.Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Costura.Fody.5.7.0\build\Costura.Fody.targets'))" />
</Target>
<Import Project="..\packages\Fody.6.5.5\build\Fody.targets" Condition="Exists('..\packages\Fody.6.5.5\build\Fody.targets')" />
<Import Project="..\packages\Costura.Fody.5.7.0\build\Costura.Fody.targets" Condition="Exists('..\packages\Costura.Fody.5.7.0\build\Costura.Fody.targets')" />
</Project>

View File

@ -1,5 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Costura.Fody" version="5.7.0" targetFramework="net481" developmentDependency="true" />
<package id="Fody" version="6.5.5" targetFramework="net481" developmentDependency="true" />
<package id="ILMerge" version="3.0.41" targetFramework="net481" />
<package id="Infragistics.Themes.MetroDark.Wpf" version="1.0.0" targetFramework="net451" />
<package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="net481" />
<package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="net481" />
<package id="NETStandard.Library" version="1.6.1" targetFramework="net481" />
<package id="System.AppContext" version="4.3.0" targetFramework="net481" />
<package id="System.Collections" version="4.3.0" targetFramework="net481" />
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net481" />
<package id="System.Console" version="4.3.0" targetFramework="net481" />
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net481" />
<package id="System.Diagnostics.DiagnosticSource" version="4.3.0" targetFramework="net481" />
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net481" />
<package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="net481" />
<package id="System.Globalization" version="4.3.0" targetFramework="net481" />
<package id="System.Globalization.Calendars" version="4.3.0" targetFramework="net481" />
<package id="System.IO" version="4.3.0" targetFramework="net481" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net481" />
<package id="System.IO.Compression.ZipFile" version="4.3.0" targetFramework="net481" />
<package id="System.IO.FileSystem" version="4.3.0" targetFramework="net481" />
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net481" />
<package id="System.Linq" version="4.3.0" targetFramework="net481" />
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net481" />
<package id="System.Net.Http" version="4.3.0" targetFramework="net481" />
<package id="System.Net.Primitives" version="4.3.0" targetFramework="net481" />
<package id="System.Net.Sockets" version="4.3.0" targetFramework="net481" />
<package id="System.ObjectModel" version="4.3.0" targetFramework="net481" />
<package id="System.Reflection" version="4.3.0" targetFramework="net481" />
<package id="System.Reflection.Extensions" version="4.3.0" targetFramework="net481" />
<package id="System.Reflection.Primitives" version="4.3.0" targetFramework="net481" />
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net481" />
<package id="System.Runtime" version="4.3.0" targetFramework="net481" />
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net481" />
<package id="System.Runtime.Handles" version="4.3.0" targetFramework="net481" />
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net481" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net481" />
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net481" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net481" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net481" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net481" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net481" />
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net481" />
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net481" />
<package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="net481" />
<package id="System.Threading" version="4.3.0" targetFramework="net481" />
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="net481" />
<package id="System.Threading.Timer" version="4.3.0" targetFramework="net481" />
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net481" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net481" />
</packages>