Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report on
Developer Community or GitHub with
your current version information, steps to reproduce, and relevant error
messages or log files if you are hitting an issue that looks similar to
this resolved bug and you do not yet see a matching new report.
Found: The CVDisplayLink class is no longer provided in Xamarin.Mac.
Steps to reproduce:
* Create a Xamarin.Mac project that employs CoreVideo and CVDisplayLink
under 220.127.116.11 (the beta channel at the time of this report).
* Observe that the class reference is valid / builds succeed.
* Update to 18.104.22.168 (the alpha channel at the time of this report).
* Observe missing-class syntax highlighting and failed builds.
Expected: CVDisplayLink is still provided, as it is a critical feature
on OSX for various purposes.
I updated to the current Alpha channel (XM 22.214.171.124) and was unable to reproduce the bug. I tried creating both Classic and Unified projects and adding a "using CoreVideo;" statement, CVDisplayLink was found by intellisense and I was able to successfully build and run a project using CVDisplayLink.
Can you provide a project with a simple test case for the issue?
Odd. Even the assembly browser in XS did not show the class when the alpha channel was installed. I can toggle back and forth between alpha + beta and see and clear the problem, respectively. I'll dig a little more and see if I can find any more info.
I did a quick check of the following
...via ILSpy this time:
...no CVDisplayLink apparent in any of those assemblies under the CoreVideo namespace.
CVDisplayLink *does* appear under Versions/126.96.36.199/lib/mono/XamMac.dll
under the MonoMac.CoreVideo namespace, for what it's worth.
After reinstalling the beta channel (1.10.x), a spot check of the x86_64/full assembly
*does* show CVDisplayLink in the assembly under CoreVideo, as expected.
I have no theory for why your local build succeeded, but I'd suggest verifying
what I see in the binaries themselves locally.
Here's the deal:
- In unified, we split out all of the OpenGL support into a new assembly, opentk.dll to match iOS.
- This involved touching a lot of files and projects. Since CVDisplayLink happened to have a method that used OpenGL, it was brought along.
- Tim's test project happened to have opentk.dll, so he didn't notice.
- This was a mistake, and will be fixed in the next alpha.
- You can reference opentk.dll to work around it until it is fixed.
Thanks for the info. I am specifically not using OpenTK, which matches that explanation.
I'll hang out in beta for now and watch alpha for another version tick.
Appreciate the quick response.
This is fixed in master / 7176b35 and should make the next alpha update.
Still present in Version: 188.8.131.52 (Business Edition), which hit alpha just a bit ago.
Sorry for the confusion. I should have been more specific on the rebase notes for 184.108.40.206. It pretty much was only a version bump to fix an issue associated with Unified Full project creation.
We still have it fixed in master, and I hope it will make the next alpha update, which looks early next year. You can work around it if necessary via referencing opentk until the update.