Partially different build numbers

15 posts, 1 answers
  1. Heiko
    Heiko avatar
    123 posts
    Member since:
    Oct 2012

    Posted 03 Feb Link to this post

    Hi!

    I just installed the latest release of UI for WPF (Q1 2016) via control panel. What I noticed is that most of the installed assemblies are compiled on 01/12/2016, however some of them are compiled on 01/06/2016. This also means that the assemblies have different product versions.

    Example (from Binaries.NoXaml/WPF45): Telerik.Windows.Control.dll (2016.1.112.45), Telerik.Windows.Documents.Core.dll (2016.1.106.45).

    This never happened before, all files of a release normally had the same build date. Since I build my projects using special target files including the version number of each assembly this is very annoying. Please correct this in the next build.

    Regards
    Heiko

  2. Boby
    Admin
    Boby avatar
    595 posts

    Posted 04 Feb Link to this post

    Hi Heiko,

    Document processing libraries (DPL) - RadWordsProcessing, RadSpreadProcessing, RadPdfProcessing - which Telerik.Windows.Documents.Core is part of, were originally started as part of the WPF/Silverlight suite. Then we realized that the project is essentially cross-platform and customers on other platforms (ASP.NET, WinForms, etc.) could benefit from it. 

    As part of the effort to re-use the binaries among the platforms, Document Processing builds was separated from the main WPF build, thus the difference in the versions.

    We plan to extend this (for DPL assemblies) by fixing the AssemblyVersion for each release (e.g. something like 2016.2.0.0 for 2016 Q2, 2016.2.1.0 for 2016 Q2 SP1) and modifying just the AssemblyFileVersion based on the date of the build.
     
    Let us know what you think of the planned changes, and would they interfere with your current process.

    Regards,
    Boby
    Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  3. UI for WPF is Visual Studio 2017 Ready
  4. Heiko
    Heiko avatar
    123 posts
    Member since:
    Oct 2012

    Posted 04 Feb Link to this post

    Hi Boby, and thanks for the reply.

    Let me explain how this affects my build process. To make the whole project clearer I split it up into many modules; each module is a separate project. Now each project has references to many assemblies like the ones of Telerik. When a new version of Telerik assemblies comes out it means checking each project for the right references and updating them. To simplify this I created a file called "telerik.targets" and define some variables like this:

    01.<?xml version="1.0" encoding="utf-8"?>
    02.<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    03.  <PropertyGroup>
    04.    <IsPrivate Condition=" '$(IsPrivate)' == '' ">False</IsPrivate>
    05.    <TelerikPath>D:\DotNetTools\Telerik\UI for WPF Q1 2016\Binaries.NoXaml\WPF45\</TelerikPath>
    06.    <TelerikVersion>Version=2016.1.112.45</TelerikVersion>
    07.  </PropertyGroup>
    08.  <ItemGroup>
    09.    <Reference Include="Telerik.Windows.Themes.Office2013, $(TelerikVersion), Culture=neutral,...">
    10.      <HintPath>$(TelerikPath)Telerik.Windows.Themes.Office2013.dll</HintPath>
    11.      <Private>$(IsPrivate)</Private>
    12.    </Reference>
    13....


    You see that in lines 5 and 6 I define where to find the referenced assemblies and the version number, and I use these variables later on in the <Reference>...</Reference> part. In each of my projects I have a single line to include all necessary Telerik assemblies:

    <Import Project="..\telerik.targets" />

    Moving to a new version now is very easy: I just have to change one line to the new version number in the "telerik.targets" file, then all of my projects are up-to-date. 

    When Telerik starts to change the versioning scheme it a) should be documented in the release history and b) at least be unique. Maybe there is a better solution then someone can point me into the right direction.

    Regards
    Heiko
  5. Answer
    Boby
    Admin
    Boby avatar
    595 posts

    Posted 05 Feb Link to this post

    Hi Heiko, 

    I can understand the problem now. From now on, you should expect the version of the DPL libraries - that is the following:
    - Telerik.Windows.Documents.Core
    - Telerik.Windows.Documents.Fixed
    - Telerik.Windows.Documents.Flow
    - Telerik.Windows.Documents.Flow.FormatProviders.Pdf
    - Telerik.Windows.Documents.Spreadsheet
    - Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml
    - Telerik.Windows.Documents.Spreadsheet.FormatProviders.Pdf
    - Telerik.Windows.Zip
    - Telerik.Windows.Zip.Extensions

    to be slightly different than the version of the other WPF libraries.

    We decided that the change is too small (and kind of internal) to be included in the release notes, but looking at your scenario I consider this decision wrong. We will carefully document and include in release notes any subsequent changes in the assembly versioning.

    To this particular case, I guess you could add two different variables - TelerikVersion, and TelerikDplVersion, and use the latter only for references to the aforementioned assemblies.

    Regards,
    Boby
    Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  6. Heiko
    Heiko avatar
    123 posts
    Member since:
    Oct 2012

    Posted 05 Feb in reply to Boby Link to this post

    Hi Boby,

    thanks for your answer. The "TelerikDplVersion" was the trick I already used. :-)  If I know that these libraries havedifferent version numbers I can take this into account for my build process.

    Regards
    Heiko

  7. EDILSON MARTINS
    EDILSON MARTINS avatar
    9 posts
    Member since:
    Mar 2013

    Posted 22 Aug in reply to Heiko Link to this post

    Hello Heiko,

    I wonder how was your code because'm having the same problem.

    I developed a page to read a .xlsx file that uses the Telerik.Windows.Documents.Spreadsheet.dll version 2016.2.606.45 WPF and to generate a .xlsx from a PivotGrid it uses Telerik.Windows.Documents.Spreadsheet.dll Ajax \ AdditionalLibraries version 2016.2.421.45.

    Thank you very much in advance.

    Regards,
    Igor Spadoni
  8. EDILSON MARTINS
    EDILSON MARTINS avatar
    9 posts
    Member since:
    Mar 2013

    Posted 22 Aug Link to this post

    Hello Boby,


    How can I reference two versions of the same Telerik.Windows.Documents.Spreadsheet.dll?

    I developed a page to read a .xlsx file that uses the Telerik.Windows.Documents.Spreadsheet.dll version 2016.2.606.45 WPF and to generate a .xlsx from a PivotGrid it uses Telerik.Windows.Documents.Spreadsheet.dll Ajax \ AdditionalLibraries version 2016.2.421.45.

    Thank you very much in advance.

    Regards,
    Igor Spadoni

  9. EDILSON MARTINS
    EDILSON MARTINS avatar
    9 posts
    Member since:
    Mar 2013

    Posted 22 Aug in reply to Boby Link to this post

    Hello Boby,


    How can I reference two versions of the same Telerik.Windows.Documents.Spreadsheet.dll?

    I developed a page to read a .xlsx file that uses the Telerik.Windows.Documents.Spreadsheet.dll version 2016.2.606.45 WPF and to generate a .xlsx from a PivotGrid it uses Telerik.Windows.Documents.Spreadsheet.dll Ajax \ AdditionalLibraries version 2016.2.421.45.

  10. Boby
    Admin
    Boby avatar
    595 posts

    Posted 24 Aug Link to this post

    Hi Igor ,

    You can achieve this using the "extern alias" construct. A good tutorial is this one.

    As a whole, we are trying to keep the suites in sync - e.g. ASP.NET AJAX and WPF to use the latest Document Processing version, but ASP.NET AJAX didn't manage to update on time for this particular version.

    Regards,
    Boby
    Telerik by Progress
    Do you need help with upgrading your AJAX, WPF or WinForms project? Check the Telerik API Analyzer and share your thoughts.
  11. EDILSON MARTINS
    EDILSON MARTINS avatar
    9 posts
    Member since:
    Mar 2013

    Posted 24 Aug in reply to Boby Link to this post

    Hello Boby,

    Good Morning.

    Thank you for attention.

    I realized these changes, but Visual Studio will not let me add the two dll as is reported in the tutorial. The following image of error. I removed the references and tried to add them at the same time and the error is the same.

    The problem is because I use the Telerik.Windows.Documents.Spreadsheet (2016.2.606.45) to load an .xlsx for RadGrid and version (2016.2.421.45) to extract to .xlsx one RadPivotGrid using the "ExportToExcel".

    I was unable to execute the command line of the first link.

    Regards,
    Igor Spadoni
  12. EDILSON MARTINS
    EDILSON MARTINS avatar
    9 posts
    Member since:
    Mar 2013

    Posted 24 Aug Link to this post

    Image
  13. EDILSON MARTINS
    EDILSON MARTINS avatar
    9 posts
    Member since:
    Mar 2013

    Posted 26 Aug in reply to Boby Link to this post

    Hello Boby,

    Is there any other solution to the problem? I can not add both versions to the visual studio project itself blocks the addition.

    I still can not understand how to reference the two dll in the project file, as you suggested in response "To this particular case, I guess You could add two different variables - TelerikVersion, and TelerikDplVersion, and use the Latter only for references to the aforementioned assemblies. ". This is a possibility?

    Regards,
    Igor Spadoni
  14. EDILSON MARTINS
    EDILSON MARTINS avatar
    9 posts
    Member since:
    Mar 2013

    Posted 26 Aug in reply to Boby Link to this post

    Hello Boby,

    Good Morning.

    I managed to solve the problem. I do not know if you said that at some point, but follow the procedures I realized.

    I referenciei project in the DLL's WPF and installed in the GAC all DLL's that are in the AdditionalLibraries AJAX.NET folder. That way everything went perfectly.

    Thanks for listening.

    Regards,
    Igor Spadoni
  15. Tanya
    Admin
    Tanya avatar
    402 posts

    Posted 26 Aug Link to this post

    Hi Igor,

    Another option to add the different assemblies to the references of your project is by modifying the .csproj file. You can add them manually and set an alias as demonstrated below:
    <Reference Include="Telerik.Windows.Documents.Spreadsheet, Version=2016.2.421.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
      <SpecificVersion>True</SpecificVersion>
      <HintPath>C:\Binaries\WPF\Telerik.Windows.Documents.Spreadsheet.dll</HintPath>
      <Aliases>NewSpreadsheet</Aliases>
    </Reference>
    <Reference Include="Telerik.Windows.Documents.Spreadsheet, Version=2015.1.0225.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7, processorArchitecture=MSIL">
      <SpecificVersion>True</SpecificVersion>
      <HintPath>C:\UI for WPF Q1 2015\Binaries\WPF40\Telerik.Windows.Documents.Spreadsheet.dll</HintPath>
    </Reference>

    Regards,
    Tanya
    Telerik by Progress
    Do you need help with upgrading your AJAX, WPF or WinForms project? Check the Telerik API Analyzer and share your thoughts.
  16. EDILSON MARTINS
    EDILSON MARTINS avatar
    9 posts
    Member since:
    Mar 2013

    Posted 26 Aug in reply to Tanya Link to this post

    Tanya,

    Good Morning.

    I had already made this change, but it did not work. When I opened the Visual Studio appeared two versions of the DLL tab of references, but one of them was with warning sign, with reset and without the correct path version.

    I managed to solve the GAC installing all DLL's of AdditionalLibraries the Ajax.Net folder.

    Thank you.

    Hugs,
    Igor Spadoni
Back to Top
UI for WPF is Visual Studio 2017 Ready