-
Notifications
You must be signed in to change notification settings - Fork 564
[create-vsix] Ensure registration shows up in Help/About #614
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=56867 It turns out that having a *package* definition in the pkgdef without a corresponding Package entry in the same file, makes it impossible for VS to find the associated resources with the given IDs (#400 for the icon, #110 and #112 for the name and description). It also turns out that even if were to do without the icon, using plain strings for #110/112 doesn't work either, and the package entry has to be there anyway, alongside the assembly and code base. Therefore, just add it to the VSIX payload so that VS can use it to locate those resources for Help/About and nothing else. Since we still tell the VSSDK targets *not* to create the PKGDEF from the Package-derived class, this should still mean it's a plain IL compilation for xbuild/MacOSX and hopefully it won't break anything. NOTE: the AssemblyName has to match what's in the PKGDEF, so we made it match with the official one too. Since this assembly name isn't used for anything at run-time, it's fine to leave it as-is with no changes. The new gazillion packages/references are needed just so the AndroidSdkPackage class can inherit from Package as expected by VS.
| <OutputType>Library</OutputType> | ||
| <RootNamespace>Xamarin.Android.Sdk</RootNamespace> | ||
| <AssemblyName>Xamarin.Android.Sdk-OSS</AssemblyName> | ||
| <AssemblyName>Xamarin.Android.Sdk</AssemblyName> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since $(AsemblyName) is changed, this should also change the _GetVsixPath target in create-vsix.targets to re-add -OSS
<VsixPath Condition=" '$(VsixPath)' == '' ">..\..\bin\Build$(Configuration)\$(AssemblyName)-OSS-$(ProductVersion).$(XAVersionCommitCount)_$(XAVersionBranch)_$(XAVersionHash).vsix</VsixPath>The reason for this is so that you can sanely download both commercial and OSS .vsix files into the same directory without fearing for filename collisions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I assume that on the commercial build that property will be set to the non-OSS suffixed version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct, the commercial build overrides the $(VsixPath) property.
Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=56867 It turns out that having a *package* definition in the pkgdef without a corresponding Package entry in the same file, makes it impossible for VS to find the associated resources with the given IDs (dotnet#400 for the icon, dotnet#110 and dotnet#112 for the name and description). It also turns out that even if were to do without the icon, using plain strings for dotnet#110/112 doesn't work either, and the package entry has to be there anyway, alongside the assembly and code base. Therefore, just add it to the VSIX payload so that VS can use it to locate those resources for Help/About and nothing else. Since we still tell the VSSDK targets *not* to create the PKGDEF from the Package-derived class, this should still mean it's a plain IL compilation for xbuild/MacOSX and hopefully it won't break anything. NOTE: the AssemblyName has to match what's in the PKGDEF, so we made it match with the official one too. Since this assembly name isn't used for anything at run-time, it's fine to leave it as-is with no changes. The new gazillion packages/references are needed just so the AndroidSdkPackage class can inherit from Package as expected by VS.
Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=56867 It turns out that having a *package* definition in the pkgdef without a corresponding Package entry in the same file, makes it impossible for VS to find the associated resources with the given IDs (#400 for the icon, #110 and #112 for the name and description). It also turns out that even if were to do without the icon, using plain strings for #110/112 doesn't work either, and the package entry has to be there anyway, alongside the assembly and code base. Therefore, just add it to the VSIX payload so that VS can use it to locate those resources for Help/About and nothing else. Since we still tell the VSSDK targets *not* to create the PKGDEF from the Package-derived class, this should still mean it's a plain IL compilation for xbuild/MacOSX and hopefully it won't break anything. NOTE: the AssemblyName has to match what's in the PKGDEF, so we made it match with the official one too. Since this assembly name isn't used for anything at run-time, it's fine to leave it as-is with no changes. The new gazillion packages/references are needed just so the AndroidSdkPackage class can inherit from Package as expected by VS.
Changes: dotnet/java-interop@56c92c7...d70e40f * dotnet/java-interop@d70e40f1: [Java.Interop, jnienv-gen] Add netcoreapp3.1 support (dotnet#614)
Changes: dotnet/java-interop@56c92c7...d70e40f * dotnet/java-interop@d70e40f1: [Java.Interop, jnienv-gen] Add netcoreapp3.1 support (#614)
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=56867
It turns out that having a package definition in the pkgdef
without a corresponding Package entry in the same file, makes
it impossible for VS to find the associated resources with the
given IDs (#400 for the icon, #110 and #112 for the name and
description).
It also turns out that even if were to do without the icon,
using plain strings for #110/112 doesn't work either, and the
package entry has to be there anyway, alongside the assembly
and code base.
Therefore, just add it to the VSIX payload so that VS can use
it to locate those resources for Help/About and nothing else.
Since we still tell the VSSDK targets not to create the PKGDEF
from the Package-derived class, this should still mean it's a
plain IL compilation for xbuild/MacOSX and hopefully it won't
break anything.
NOTE: the AssemblyName has to match what's in the PKGDEF, so
we made it match with the official one too. Since this assembly
name isn't used for anything at run-time, it's fine to leave it
as-is with no changes.
The new gazillion packages/references are needed just so the
AndroidSdkPackage class can inherit from Package as expected
by VS.