[Component Licensing] SDK needs to make sure that licenses.licx ends up as "EmbeddedResource"
See original GitHub issueVisual Studio Version:
Summary: The Visual Studio support for Windows Forms licensing was implemented in https://github.com/dotnet/project-system/pull/5468, and works well if you opt out of the globs. VS will automatically add it to EmbeddedResource:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net472</TargetFramework>
<EnableDefaultNoneItems>false</EnableDefaultNoneItems>
</PropertyGroup>
<ItemGroup>
<Reference Include="C:\Program Files (x86)\DevExpress 19.1\Components\Bin\Framework\*.dll" />
<Reference Include="System.Windows.Forms" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="licenses.licx" />
</ItemGroup>
</Project>
However with globs turned on, we don’t add a specific item if a glob covers it. Based on that, the SDK needs to cover licenses.licx in EmbeddedResource item.
Steps to Reproduce:
- Install DevExpress controls: https://www.devexpress.com/subscriptions/new-2019-1.xml
- Create a project with the following:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Reference Include="C:\Program Files (x86)\DevExpress 19.1\Components\Bin\Framework\*.dll" />
<Reference Include="System.Windows.Forms" />
</ItemGroup>
</Project>
- Add a Form (Windows Forms) to the project
- Open designer, choose Toolbox -> DX.19.1: Reporting and drag RibbonReportDesigner onto the form
Expected Behavior:
Properties\licenses.licx gets created and ends up in EmbeddedResource
item
Actual Behavior:
Properties\licenses.licx gets created but ends up in None
item type
User Impact: Licensed controls don’t work at runtime.
Issue Analytics
- State:
- Created 4 years ago
- Reactions:1
- Comments:10 (7 by maintainers)
Top Results From Across the Web
Problem with embedded licenses.licx file in VS 2003 .Net
I added an embedded licenses.licx file to the resources of my project. I still have other license files in other projects e.g. ActiveReports ......
Read more >debugging error: Licenses.licx : unable to resolve type
Build Action: Embedded Resource is what I have. I think @notacat's answer is correct. You can't prevent it, but you can just edit...
Read more >License file on build machine
Hi Stephen, You project has a reference to \Properties\licenses.licx file. Please make sure that this file has been copied to your build server ......
Read more >License Error — ABB Robotics User Forums
I have included the license file (Licenses.licx) into my project, with the text, "ABB.Robotics.Controllers.Licenses.PCSdk, ABB.Robotics.
Read more >License file LICX Issues - Data Abstract
Hi guys, First the background story. We develop everything in nugets on the .net side of things. If someone wants to talk to...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@vatsan-madhavan LC.exe executes code so controls can generate the license data you are embedding (you are not embedding the literal licx file, its just instructions for LC.exe which controls need a license).
Desktop version of LC.exe won’t be able to execute .NET Core code, so yes, LC.exe needs to be ported if you don’t want to replace the whole licensing mechanism with something different.
Once its clear who will own LC.exe I have some follow-up issues to create for future improvements, historically LC.exe is very fragile and errors are hard to diagnose, but lets first get things actually working. Since WebForms are gone WinForms is probably the only one still using this kind of licensing, but I’m not entirely sure of that.
My understanding is that we are not bringing LC.ee to .NET Core and instead @terrajobst will work on a newer way of licensing .NET Core apps.