This is a migrated thread and some comments may be shown as answers.

Building Source for deployment

9 Answers 192 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Robert
Top achievements
Rank 1
Robert asked on 18 Aug 2014, 05:00 AM

I am trying to follow the instructions to create protected Telerik assemblies for deployment with my WPF application.

I see that in each control folder there is are two WPF solutions (among others)
*_WPF.sln
*_WPF_Work.sln

What is the _Work version  for?   I assume I should use the *_WPF.sln version?  
Was there some guidance in the documentation about that question that I overlooked?

However, when I build either version I get errors.  I already successfully built the Core\XCore_WPF.sln  solution.

Here is an example of an error I get when building the ImageEditor control: (either of the two WPF solutions)

Error 3 Unknown build error, 'The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) Line 837 Position 26.' D:\Dev\Telerik\Telerik_UI_for_WPF_Source_2014_1_0331\Controls\ImageEditor\ImageEditor\themes\GenericOfficeBlack.xaml 837 26
























































9 Answers, 1 is accepted

Sort by
0
Accepted
Yana
Telerik team
answered on 18 Aug 2014, 10:54 AM
Hi Robert,

The .Work solutions are basically for internal use (they're test applications), you should build the ControlName_WPF.sln solutions.

Detailed instructions for building the assemblies can be found inside the source code folder in Build/BuildInstructions folder.

As to the reported issue - please make sure that you've built Telerik,Windows.Controls.Input.dll before ImageEditor as it depends on it. You can find a complete list of Control Dependencies at the following link:
http://www.telerik.com/help/wpf/installation-installing-controls-dependencies-wpf.html

I hope this will help.

Regards,
Yana
Telerik
 
Check out Telerik Analytics, the service which allows developers to discover app usage patterns, analyze user data, log exceptions, solve problems and profile application performance at run time. Watch the videos and start improving your app based on facts, not hunches.
 
0
Robert
Top achievements
Rank 1
answered on 18 Aug 2014, 03:27 PM
Thank you, that resolved my issues.

0
Robert
Top achievements
Rank 1
answered on 19 Aug 2014, 10:59 PM
Not quite there yet, I cannot find the source for this :

Telerik.Windows.Controls.EntityFramework60

I'm using Telerik_UI_for_WPF_Source_2014_1_0331

I expected it would be in this location:
Telerik_UI_for_WPF_Source_2014_1_0331\Controls\DataSource\EntityFramework



0
Yana
Telerik team
answered on 20 Aug 2014, 07:13 AM
Hi Robert,

Indeed, Telerik.Windows.Controls.EntityFramework.dll is built for the EntityFramework_WPF project located inside Controls/DataSource/EntityFramework folder.

What issues have you experienced?

Regards,
Yana
Telerik
 
Check out Telerik Analytics, the service which allows developers to discover app usage patterns, analyze user data, log exceptions, solve problems and profile application performance at run time. Watch the videos and start improving your app based on facts, not hunches.
 
0
Robert
Top achievements
Rank 1
answered on 20 Aug 2014, 06:01 PM
I am using this dll from UI for WPF Q1 2014\Binaries\WPF45 :

   Telerik.Windows.Controls.EntityFramework60   (  !!!  NOTE: '60' this is for Entity Framework 6.0)

For deployment, I need to build it from source, but that particular assembly is not found here:   

    Telerik_UI_for_WPF_Source_2014_1_0331\Controls\DataSource\EntityFramework

When I build the EntityFramework_WPF.sln solution there, I get the plain EF dll, not the '60' version.

    Telerik.Windows.Controls.EntityFramework.dll

So my question is, how can I build the EF 6.0 version of the Telerik dll ?  
If I cannot do that I am unable to comply with the instructions for protecting Telerik assemblies for deployment.





0
Ivan Ivanov
Telerik team
answered on 21 Aug 2014, 11:33 AM
Hi,

We use the same proj file to build both Telerik.Windows.Controls.EntityFramework and Telerik.Windows.Controls.EntityFramework60. If you open the proj file in a text editor, you will see that AssemblyName and references are conditionally controlled by a MSBuild property (CustomBuild), which has a default value of false:
<Reference Include="EntityFramework" Condition=" ('$(TargetFrameworkVersion)' == 'v4.5' OR '$(TargetFrameworkVersion)' == 'v4.5.1') AND '$(CustomBuild)' != 'true' ">
      <HintPath>..\..\..\..\lib\EntityFramework\5.0.0\net45\EntityFramework.dll</HintPath>
    </Reference>
    <Reference Include="EntityFramework" Condition=" ('$(TargetFrameworkVersion)' == 'v4.5' OR '$(TargetFrameworkVersion)' == 'v4.5.1') AND '$(CustomBuild)' == 'true' ">
      <HintPath>..\..\..\..\lib\EntityFramework\6.0.0\net45\EntityFramework.dll</HintPath>
    </Reference>
If you plan to build only the EF6 version, you can remove these conditional checks.

Regards,
Ivan Ivanov
Telerik
 
Check out Telerik Analytics, the service which allows developers to discover app usage patterns, analyze user data, log exceptions, solve problems and profile application performance at run time. Watch the videos and start improving your app based on facts, not hunches.
 
0
Robert
Top achievements
Rank 1
answered on 21 Aug 2014, 04:01 PM
I've tried a few variations on 'removing these conditional checks', but I seem to be guessing wrong.  I get various build errors each time. I'd report them but I think I must be doing something different than you intended anyway.

Note that I'm building this project in Visual Studio, and selecting Release451 build configuration. I would have tried the batch build, but there wasn't a .Net 4.51 version of the batch files, and it seemed best to do it manually in VS in this case.

I'll keep trying but any additional hints would be welcome.  Thanks.
0
Accepted
Maya
Telerik team
answered on 22 Aug 2014, 07:21 AM
Hi Robert,

All you need to do is to change the CustomBuild definition to be "true" rather than "false". It can be found in the .proj file "Telerik.Windows.Controls.EntityFramework_WPF.proj":
<PropertyGroup>
   <CustomBuild Condition="'$(CustomBuild)' == ''">true</CustomBuild>
 
  
<ProjectGuid>{8BA30A49-7898-401C-A768-3458232CE542}</ProjectGuid>
   <RootNamespace>Telerik.Windows.Controls.EntityFramework</RootNamespace>
   <AssemblyName>Telerik.Windows.Controls.EntityFramework</AssemblyName>
   <AssemblyName Condition="'$(CustomBuild)' == 'true'">Telerik.Windows.Controls.EntityFramework60</AssemblyName>
 
   
    .....
 </PropertyGroup>

Once you set the condition to "True", the binary you get is "Telerik.Windows.Controls.EntityFramework60.dll".
Let me know if you have any troubles with that or you need a small video illustrating the steps. 


Regards,
Maya
Telerik
 
Check out Telerik Analytics, the service which allows developers to discover app usage patterns, analyze user data, log exceptions, solve problems and profile application performance at run time. Watch the videos and start improving your app based on facts, not hunches.
 
0
Robert
Top achievements
Rank 1
answered on 22 Aug 2014, 07:38 PM
Thank you, that worked ! 

Tags
General Discussions
Asked by
Robert
Top achievements
Rank 1
Answers by
Yana
Telerik team
Robert
Top achievements
Rank 1
Ivan Ivanov
Telerik team
Maya
Telerik team
Share this question
or