I would guess it is just a bug in IntelliSense. C++/CLI and C++/CX share a syntax, but it seems that there are some rules that are different. In this case, C++/CX doesn't allow public/internal fields:
- http://social.msdn.microsoft.com/Forums/windowsapps/en-US/20db7069-3e49-4772-8b9a-0c80490e0dea/error-c3984-a-nonvalue-type-cannot-have-any-public-data-members?forum=winappswithnativecode
- http://msdn.microsoft.com/en-us/library/windows/apps/hh699870
C++/CLI has no such restriction (that's why it compiles for you). The Intellisense is probably just (incorrectly) sharing this rule between both C++/CLI and C++/CX.
If you really do want an internally visible field, I would just ignore the Intellisense. If it bothers you, and you can change it to a property, then that's your workaround.