<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: panchenko-dm-aspose</title>
    <description>The latest articles on DEV Community by panchenko-dm-aspose (@panchenkodmaspose).</description>
    <link>https://dev.to/panchenkodmaspose</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F361587%2F882f39d9-e4b2-40c2-bdbd-1d78bdffd05b.jpg</url>
      <title>DEV Community: panchenko-dm-aspose</title>
      <link>https://dev.to/panchenkodmaspose</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/panchenkodmaspose"/>
    <language>en</language>
    <item>
      <title>Open or create TAR files in C# with Aspose.ZIP</title>
      <dc:creator>panchenko-dm-aspose</dc:creator>
      <pubDate>Sun, 25 Apr 2021 14:11:51 +0000</pubDate>
      <link>https://dev.to/panchenkodmaspose/open-and-create-tar-files-in-c-with-aspose-zip-16gg</link>
      <guid>https://dev.to/panchenkodmaspose/open-and-create-tar-files-in-c-with-aspose-zip-16gg</guid>
      <description>&lt;h2&gt;
  
  
  Prerequisite – C# ZIP Library
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://products.aspose.com/zip/net"&gt;Aspose.ZIP for .NET&lt;/a&gt; is a powerful and easy-to-use API for zipping or unzipping files and folders within .NET applications. It supports all the most popular ZIP formats and provides AES encryption techniques to encrypt the files in ZIP archives. You can install the API from &lt;a href="https://www.nuget.org/packages/Aspose.ZIP"&gt;NuGet&lt;/a&gt; or download its binaries from the &lt;a href="https://downloads.aspose.com/zip/net"&gt;Aspose Downloads&lt;/a&gt; section.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to create a TAR in .NET
&lt;/h2&gt;

&lt;p&gt;The next part of the code demonstrates the creation of a new TAR archive:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;using (var archive = new TarArchive())
{
    archive.CreateEntry("alice29.txt", File.OpenRead( "alice29.txt"));
    archive.Save("Archive.tar");
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's all, after 3 lines of code the TAR archive has been saved to the disk!&lt;/p&gt;

&lt;h2&gt;
  
  
  Other TAR standards.
&lt;/h2&gt;

&lt;p&gt;There are several different TAR standards: &lt;a href="https://en.wikipedia.org/wiki/Tar_(computing)#UStar_format"&gt;ustar&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/Tar_(computing)#Key_implementations"&gt;GNU tar&lt;/a&gt;, &lt;a href="https://ru.wikipedia.org/wiki/Pax_(Unix)"&gt;pax&lt;/a&gt; and V7. &lt;strong&gt;Ustar&lt;/strong&gt; format is the default implementation for the most Windows applications, while &lt;strong&gt;GNU tar&lt;/strong&gt; is the default for Linux command shell. Aspose.ZIP currently supports &lt;strong&gt;ustar&lt;/strong&gt; and &lt;strong&gt;GNU tar&lt;/strong&gt;. The Aspose.ZIP library creates archives in &lt;strong&gt;ustar&lt;/strong&gt; format by default. To create a &lt;strong&gt;GNU tar&lt;/strong&gt; archive the TAR format must be explicitly specified:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;using (var archive = new TarArchive())
{
    archive.CreateEntry("alice29.txt", File.OpenRead( "alice29.txt"));
    archive.Save("Archive.tar", TarFormat.Gnu);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Ustar vs GNU Tar. What's the difference?
&lt;/h2&gt;

&lt;p&gt;In what cases it’s better to use &lt;strong&gt;GNU tar&lt;/strong&gt; than &lt;strong&gt;ustar&lt;/strong&gt;? &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Ustar&lt;/strong&gt; has some limitations compared to &lt;strong&gt;GNU tar&lt;/strong&gt;, for example, &lt;strong&gt;ustar&lt;/strong&gt; doesn’t support entries with names more than 100 characters, the total size of the archive can’t be more than 8 Gb. If created tarball isn’t fit for these restrictions Aspose.ZIP will save the archive in &lt;strong&gt;GNU tar&lt;/strong&gt; format even without passing &lt;strong&gt;TarFormat.Gnu&lt;/strong&gt; in &lt;strong&gt;Save&lt;/strong&gt; method.&lt;/li&gt;
&lt;li&gt;Another difference between standards is that &lt;strong&gt;GNU tar&lt;/strong&gt; supports saving &lt;a href="https://wiki.archlinux.org/index.php/sparse_file"&gt;sparse files&lt;/a&gt; in the archive.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Compress TAR using GZip.
&lt;/h2&gt;

&lt;p&gt;Tarball can be compressed to GZip using Aspose.ZIP:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;using (FileStream tarGzStream = File.OpenWrite("Archive.tar.gz"))
{
    using (var archive = new TarArchive())
    {
        archive.CreateEntry("alice29.txt", File.OpenRead("alice29.txt"));
        archive.SaveGzipped(tarGzStream);
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Learn more about Aspose.ZIP for .NET
&lt;/h2&gt;

&lt;p&gt;Aspose.ZIP provides features to work with many other zip standards. Written totally on managed code Aspose.ZIP will be a good choice for applications that run on different OS.&lt;br&gt;
Explore more about our C# ZIP API using the following resources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.aspose.com/display/zipnet/Getting+Started"&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/aspose-zip/Aspose.ZIP-for-.NET"&gt;Source code examples&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check what Aspose.ZIP is capable of with our free web-apps that are completely based on Aspose.ZIP for .NET:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://products.aspose.app/zip/zip-file/tar"&gt;Create TAR archive online&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://products.aspose.app/zip/conversion/tar-to-zip"&gt;Convert TAR to ZIP online&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://products.aspose.app/zip/merger"&gt;Merge TAR archives online&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>tar</category>
      <category>zip</category>
      <category>compression</category>
      <category>csharp</category>
    </item>
    <item>
      <title>ZIP files in C# using Aspose.ZIP parallel compression</title>
      <dc:creator>panchenko-dm-aspose</dc:creator>
      <pubDate>Thu, 25 Feb 2021 08:31:57 +0000</pubDate>
      <link>https://dev.to/panchenkodmaspose/zip-files-in-c-using-aspose-zip-parallel-compression-31e</link>
      <guid>https://dev.to/panchenkodmaspose/zip-files-in-c-using-aspose-zip-parallel-compression-31e</guid>
      <description>&lt;h2&gt;
  
  
  Prerequisite – C# ZIP Library
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://products.aspose.com/zip/net"&gt;Aspose.ZIP for .NET&lt;/a&gt; is a powerful and easy-to-use API for zipping or unzipping files and folders within .NET applications. It also provides AES encryption techniques to encrypt the files in ZIP archives. You can install the API from &lt;a href="https://www.nuget.org/packages/Aspose.ZIP"&gt;NuGet&lt;/a&gt; or download its binaries from the &lt;a href="https://downloads.aspose.com/zip/net"&gt;Downloads&lt;/a&gt; section.&lt;/p&gt;

&lt;h2&gt;
  
  
  Classic way of creating ZIP archive in Aspose.ZIP for .NET
&lt;/h2&gt;

&lt;p&gt;The classic way means that we compress files within a data folder one by one and do not take any advantage of having a multicore CPU.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
      using (Archive archive = new Archive())
      {
          archive.CreateEntry("first.bin", File.OpenRead("data1.bin"));
          ...
          archive.CreateEntry("last.bin", File.OpenRead("dataN.bin"));
          archive.Save(zipFile);
       }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Parallel compression with Aspose.ZIP for .NET
&lt;/h2&gt;

&lt;p&gt;Aspose.ZIP allows you to utilize all of your CPU cores using ParallelOptions. Let's look at the code first:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (Archive archive = new Archive())
    {
        archive.CreateEntry("first.bin", File.OpenRead("data1.bin"));
        ...
        archive.CreateEntry("last.bin", File.OpenRead("dataN.bin"));
        archive.Save(zipFile, new ArchiveSaveOptions()
           {
             ParallelOptions = new ParallelOptions() 
             { ParallelCompressInMemory = ParallelCompressionMode.Always }
           });
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Setting &lt;a href="https://apireference.aspose.com/zip/net/aspose.zip.saving/parallelcompressionmode"&gt;ParallelCompressInMemory&lt;/a&gt; indicates the strategy we choose to multitask. &lt;br&gt;
Here are three options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ParallelCompressionMode.Never&lt;/strong&gt;: compression of all entries is sequential. Only one CPU core works on compression and flushes compressed data as it comes. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ParallelCompressionMode.Always&lt;/strong&gt;:  It forces compression of entries in different threads regardless of entry size, available memory, and other factors. Each CPU core simultaneously compresses a file keeping its compressed data in RAM. Upon the entry is compressed it flushes to the result stream. If your RAM amount is small and the total size of some N entries (where N is the number of CPU cores) is huge it may happen that all RAM available for CLR will exhaust and OutOfMemoryExcepton arises.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ParallelCompressionMode.Auto&lt;/strong&gt;:  It estimates CPU cores, sizes of entries, available memory and chooses whether to compress entries in parallel or sequentially. In this mode some smaller entries to be compressed in parallel while others sequentially. LZMA entries are not compressed in parallel because of high memory consumption.
Generally, it is safe to go with this option, Aspose.ZIP is wary with estimations and switches to sequential compression as a fallback.
There is one more property of ParallelOptions for this mode - &lt;a href="https://apireference.aspose.com/zip/net/aspose.zip.saving/paralleloptions/properties/availablememorysize"&gt;AvailableMemorySize&lt;/a&gt;. It is pointless for any other mode. Roughly speaking, it is the high limit of allocated memory while compressing entries with all CPU cores, in megabytes. Aspose.ZIP uses that number to estimate the biggest size of entry which is safe to be compressed in parallel. Entries above the threshold to be compressed sequentially.
&lt;strong&gt;AvailableMemorySize&lt;/strong&gt; is a double-edged sword: being set too high with huge entries, it can produce RAM exhaustion, intense swap, and even might be out of memory exception. 
Being set too low, most of the entries will be compressed in a sequential way without much speed-up. So, sophisticated users can assign it considering trade-off. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We encourage you to play with different modes of parallel compression on your typical data to determine what is the best settings in your case.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learn more about Aspose.ZIP for .NET
&lt;/h2&gt;

&lt;p&gt;Explore more about our C# ZIP API using the following resources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.aspose.com/display/zipnet/Getting+Started"&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/aspose-zip/Aspose.ZIP-for-.NET"&gt;Source code examples&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check what Aspose.ZIP is capable of with our free web-apps that are completely based on Aspose.ZIP for .NET:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://products.aspose.app/zip/unzip-file"&gt;UnZIP files online&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://products.aspose.app/zip/zip-file"&gt;ZIP files online&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://products.aspose.app/zip/conversion/rar-to-zip"&gt;Convert RAR to ZIP online&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://products.aspose.app/zip/merger/zip"&gt;Merge ZIP archives online&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Export/Import Excel documents to MS Project in C#/.NET using Aspose.Tasks</title>
      <dc:creator>panchenko-dm-aspose</dc:creator>
      <pubDate>Tue, 23 Jun 2020 12:44:22 +0000</pubDate>
      <link>https://dev.to/panchenkodmaspose/export-import-excel-documents-to-ms-project-in-c-net-using-aspose-tasks-4138</link>
      <guid>https://dev.to/panchenkodmaspose/export-import-excel-documents-to-ms-project-in-c-net-using-aspose-tasks-4138</guid>
      <description>&lt;h1&gt;
  
  
  Export MS Project data to XLSX
&lt;/h1&gt;

&lt;p&gt;Sometimes there may be requirements to work with your project data in Microsoft Excel.&lt;br&gt;
In simple scenarios, you can export project data using Aspose.Tasks with two lines of code (default settings will be used):&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;The resulting spreadsheet will contain three sheets (for Task, Resource, and Assignments) with default columns.&lt;br&gt;
If you need a specific set of columns the resulting spreadsheet can be customized in the following way:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;
&lt;br&gt;
The resulting spreadsheet when opened in Microsoft Excel:&lt;br&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BUu9biYh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jlsfy1w0csb6rcozao1z.jpg" alt="Alt Text" width="880" height="474"&gt;
&lt;h1&gt;
  
  
  Import project data from XLSX
&lt;/h1&gt;

&lt;p&gt;There is no API for importing XLSX to project data at the moment, but you can use OpenXml to implement an importing routine specific to your data. Here is a simplified example of how it can be done (requires ‘DocumentFormat.OpenXml‘ NuGet package ):&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


</description>
      <category>msproject</category>
      <category>mpp</category>
      <category>msexcel</category>
      <category>xlsx</category>
    </item>
    <item>
      <title>Modify MS Project files in TypeScript or JavaScript using Aspose.Tasks Cloud API.</title>
      <dc:creator>panchenko-dm-aspose</dc:creator>
      <pubDate>Thu, 07 May 2020 15:18:31 +0000</pubDate>
      <link>https://dev.to/panchenkodmaspose/modify-ms-project-files-in-your-typescript-or-javascript-app-using-aspose-tasks-cloud-api-1pk5</link>
      <guid>https://dev.to/panchenkodmaspose/modify-ms-project-files-in-your-typescript-or-javascript-app-using-aspose-tasks-cloud-api-1pk5</guid>
      <description>&lt;p&gt;&lt;a href="https://products.aspose.cloud/tasks/family"&gt;Aspose.Tasks Cloud&lt;/a&gt; is a REST API for manipulating and converting &lt;a href="https://www.microsoft.com/en-us/microsoft-365/project/project-management-software"&gt;Microsoft Project (MPP, XML, etc.)&lt;/a&gt; and &lt;a href="https://www.oracle.com/industries/construction-engineering/primavera-products/"&gt;Oracle Primavera (XER)&lt;/a&gt; documents. It allows you to work with all aspects of a project as well as offers a wide range of export options allowing developers to convert supported project formats to a number of industry-standard formats (PDF/Excel/Images). &lt;br&gt;
Our &lt;a href="https://products.aspose.cloud/tasks/family"&gt;Cloud SDKs&lt;/a&gt; are wrappers around REST API in various programming languages (PHP, Python, Node.js), allowing you to work with MS Project/Oracle Primavera documents in the language of your choice quickly and easily, gaining all benefits of strong types and IDE highlights.&lt;br&gt;
Before we get started, I want to say a few words about legal use Aspose.Tasks Cloud API. For receiving successful responses from the server, you need to sign up for free on &lt;a href="https://id.containerize.com/signup"&gt;https://id.containerize.com/signup&lt;/a&gt; so you can get your own &lt;a href="https://dashboard.aspose.cloud/#/apps"&gt;App SID and App Key&lt;/a&gt;. &lt;br&gt;
These credentials will be used in a further example. We also will use 'fs' module for read\write files, but you can use whatever is more convenient for you. After you get SID and Key for your app, we will need to install SDK package, just like that:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm i @asposecloud/aspose-tasks-cloud&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;When it's done, let's create an instance of Tasks.Api:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;Good! Now we can do whatever we want with our project. Let's add a new task:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;Simple isn't it?. Now let's look at the result:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;Well, that's it. We just tested adding tasks to the project file. But what if you want to add, modify, delete or take &lt;a href="https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-node/blob/master/test/calendarsTests.ts"&gt;calendar&lt;/a&gt; from your project? Or do some stuff with your &lt;a href="https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-node/blob/master/test/assignmentsTests.ts"&gt; assignments&lt;/a&gt;? Or deal with some another part of the project? SDK source code contains a large number of use cases which you can see &lt;a href="https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-node/tree/master/test"&gt;here&lt;/a&gt;. &lt;br&gt;
I hope you enjoy using this tool to manipulate your MS project files.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>msproject</category>
      <category>asposetasks</category>
      <category>oracleprimavera</category>
    </item>
    <item>
      <title>Save MS Project files into various formats using C# and Aspose.Tasks for .NET</title>
      <dc:creator>panchenko-dm-aspose</dc:creator>
      <pubDate>Fri, 17 Apr 2020 09:14:27 +0000</pubDate>
      <link>https://dev.to/panchenkodmaspose/save-ms-project-files-into-various-formats-using-c-and-aspose-tasks-for-net-3jg5</link>
      <guid>https://dev.to/panchenkodmaspose/save-ms-project-files-into-various-formats-using-c-and-aspose-tasks-for-net-3jg5</guid>
      <description>&lt;p&gt;&lt;a href="https://products.aspose.com/tasks/net"&gt;Aspose.Tasks for .NET&lt;/a&gt; is a reliable project management API to process Microsoft Project files. API supports reading, writing and manipulating Microsoft Project documents without any other software dependencies.&lt;/p&gt;

&lt;p&gt;Presented below is a shorthand article describing how to convert &lt;a href="https://products.office.com/en-us/project/project-management-software"&gt;Microsoft Project&lt;/a&gt; files (composed in native Project formats: MPP, MS Project XML) into the non-Microsoft project formats: graphical (PNG, BMP, JPEG, TIFF, SVG, PDF), &lt;a href="https://www.oracle.com/industries/construction-engineering/primavera-products/"&gt;Primavera&lt;/a&gt;(Primavera XML, XER).&lt;/p&gt;

&lt;h2&gt;Create a new Microsoft Project document and save it to other Microsoft Project file formats&lt;/h2&gt;

&lt;p&gt;Aspose.Tasks for .NET allows to create a project from scratch and convert it into other Microsoft Project file formats (such as Microsoft Project XML, Microsoft Project MPX):&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;h2&gt;Convert Microsoft Project files into graphical formats&lt;/h2&gt;

&lt;p&gt;Aspose.Tasks for .NET can read a project file from native project formats (MPP, MPX, Microsoft Project XML) and save it into any of graphical formats: PNG, BMP, JPEG, TIFF, SVG, PDF. There are two main approaches. The first allows a user to easily save a project into any of the available formats by specifying one of Aspose.Tasks.SaveFileFormat enum members:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;Another approach is a usage of special setting classes that allow to tune the saving options.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;
&lt;br&gt;
&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;h2&gt;Convert Microsoft Project files into Primavera formats&lt;/h2&gt;

&lt;p&gt;Along with saving in graphical formats Aspose.Tasks for .NET supports conversion into Oracle Primavera formats (e.g. Primavera XML, Primavera XER):&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;h2&gt;Convert Microsoft Project files into other formats&lt;/h2&gt;

&lt;p&gt;Aspose.Tasks for .NET also supports a conversion of project files to HTML, XLS, XLSX, XAML, TXT formats:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;
&lt;br&gt;
&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;h2&gt;How to try&lt;/h2&gt;

&lt;p&gt;You can try the above-mentioned features with your projects in our free web &lt;a href="https://products.aspose.app/tasks/conversion"&gt;Aspose.Tasks Conversion&lt;/a&gt; app - it uses the same engine under the hood.&lt;br&gt;
The whole set of examples that shows the features of saving project files into various formats are in our &lt;a href="https://github.com/aspose-tasks/Aspose.Tasks-for-.NET/"&gt;GitHub&lt;/a&gt; repository. The latest version of Aspose.Tasks for .NET is always available on the &lt;a href="https://downloads.aspose.com/tasks"&gt;official Aspose website&lt;/a&gt; or via &lt;a href="https://www.nuget.org/packages/Aspose.Tasks/"&gt;NuGet package&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>msproject</category>
      <category>primavera</category>
      <category>csharp</category>
      <category>pdf</category>
    </item>
    <item>
      <title>	
Save your projects in C# to Project Server\Project Online via PWA using Aspose.Tasks for .NET</title>
      <dc:creator>panchenko-dm-aspose</dc:creator>
      <pubDate>Mon, 06 Apr 2020 08:01:45 +0000</pubDate>
      <link>https://dev.to/panchenkodmaspose/save-your-projects-to-project-server-project-online-via-pwa-using-aspose-tasks-c7</link>
      <guid>https://dev.to/panchenkodmaspose/save-your-projects-to-project-server-project-online-via-pwa-using-aspose-tasks-c7</guid>
      <description>&lt;h2&gt;Introduction&lt;/h2&gt;

&lt;p&gt;Below guide explains how you can manipulate your projects from &lt;a href="https://docs.microsoft.com/en-us/ProjectOnline/get-started-with-project-online" rel="nofollow"&gt;MS Project Online&lt;/a&gt; (&lt;a href="https://support.office.com/en-us/article/get-started-with-project-web-app-0c5b05b3-b444-438c-8b22-100d87ade40b" rel="nofollow"&gt;Project Web Application&lt;/a&gt;) hosted by &lt;a href="https://products.office.com/EN-us/sharepoint/collaboration" rel="nofollow"&gt;SharePoint&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Background&lt;/h2&gt;

&lt;p&gt;The new &lt;a href="https://www.nuget.org/packages/Aspose.Tasks/"&gt;Aspose.Tasks&lt;/a&gt; feature uses Project Web Access (or PWA) API - the same API is used for interaction of Microsoft Project Professional desktop application and Project Online service.&lt;/p&gt;

&lt;h2&gt;Using the code&lt;/h2&gt;

&lt;p&gt;Aspose.Tasks for .NET can be added as a NuGet reference from &lt;a href="https://www.nuget.org/packages/Aspose.Tasks/"&gt;&lt;/a&gt;&lt;a href="https://www.nuget.org/packages/Aspose.Tasks/"&gt;https://www.nuget.org/packages/Aspose.Tasks/&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;Create project in Project Online account&lt;/h4&gt;

&lt;p&gt;A project can be created in your Project Online account using the ProjectServerManager class:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;Please note that &lt;code&gt;project.Get(Prj.Guid)&lt;/code&gt; and &lt;code&gt;project.Get(Prj.Name)&lt;/code&gt; properties should be unique within projects in the specified Project Online account.&lt;br&gt;Projects created in that way can be found in the “Working” store of your Project Online account (see screenshots below). The support of "Published" store will be available in future releases.&lt;/p&gt;

&lt;p&gt;You can find the created project and store selection option in &lt;a href="https://products.office.com/en-us/project/project-management-software" rel="nofollow"&gt;Microsoft Project Professional&lt;/a&gt; desktop application in “Open Enterprise Project” dialog (“File-&amp;gt;Open-&amp;gt;Project Web App-&amp;gt;Browse” path):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p39nk24x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fqlorx7bo0dyuqdy8h1h.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p39nk24x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fqlorx7bo0dyuqdy8h1h.jpg" alt="Open Enterprise Project 1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dxcnuRJ2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/co6vn1onypkt4dy19r6s.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dxcnuRJ2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/co6vn1onypkt4dy19r6s.jpg" alt="Open Enterprise Project 2"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;Modify project in Project Online account&lt;/h4&gt;

&lt;p&gt;Also, you can modify a project in your Project Online account using the following syntax:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;h4&gt;Working with on-premise Project Server(2016 or 2019)&lt;/h4&gt;

&lt;p&gt;Use the following code sample to create, read and update projects in on-premise Project Server (2016 or 2019) using &lt;code&gt;ProjectServerManager&lt;/code&gt; class:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;h2&gt;How to try&lt;/h2&gt;

&lt;p&gt;You can try part of the above mentioned features with your online projects in our free web &lt;a href="https://products.aspose.app/tasks/downloader"&gt;Aspose.Tasks Downloader&lt;/a&gt; app - it uses the same engine under the hood. More info can be found in &lt;a href="https://blog.aspose.app/2020/01/28/save-your-microsoft-project-online-as-a-local-.mpp-file-using-aspose.tasks-web-application/"&gt;this blog post&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>msproject</category>
      <category>pwa</category>
      <category>csharp</category>
      <category>asposetasks</category>
    </item>
  </channel>
</rss>
