Reference Search Path XMLs
In addition to automatically knowing where to locate reference files available as part of the core platforms, the Elements compiler toolchain employs a system of XML files to let it know where to locate referenced libraries.
Some of these XML files will be created by the Elements install itself, by third party libraries registering themselves with Elements, and you can also configure your own paths to let Elements find references you use frequently, without having to rely on Hint Paths.
On Windows, Elements will look for these files in %APPDATA%\RemObjects Software\Elements\Reference Paths
and %ProgramData%\RemObjects Software\Elements\Reference Paths
.
On Mac, it will look in the subfolder RemObjects Software/Elements/Reference Paths
under both ~/Library/Application Support
for the current user and the system-wide /Library/Application Support
folders. When building from inside of Fire, the compiler will also look at a dedicated set of references provided inside of the Fire .app bundle.
Underneath these folders, the compiler will look in platform-specific subfolders, namely:
as those are the internal codenames for the respective platforms. Any .xml
file in these folders will be looked at for potential reference paths. For each platform, the compiler will also look in specific subfolders for reference paths for a particular sub-platform. These are:
Echoes/Full
– for full .NET framework referencesEchoes/NETStandard
– for .NET Standard referencesEchoes/Silverlight
– for Silverlight-only .NET referencesCooper/Android
– for Android-only Java referencesCooper/Plain
– for non-Android-only Java referencesToffee/iOS
– for iOS-only Cocoa referencesToffee/macOS
– for Mac-only Cocoa referencesToffee/tvOS
– for Mac-only Cocoa referencesToffee/watchOS
– for Mac-only Cocoa referencesIsland/Linux
– for Linux-specific Island referenesIsland/Windows
– for Windows-specific Island referencesIsland/Android
– for Android NDK-specific Island referencesIsland/WebAssembly
– for WebAssembly-specific Island references
File Format
The format of the XML files is as follows, where any number of <path>
entries may be provided, and the Name value is purely for display purposes:
<?xml version="1.0" standalone="no"?>
<paths>
<path name="Sugar for .NET">/Users/mh/Code/git/Oxygene/Bin/Sugar/Echoes</path>
</paths>
Reference Paths in the IDE
In Fire and Water, you can view the currently configured reference paths (including those set by Fire itself) on the "Reference Paths" tab of the Preferences dialog:
Broken/missing folders will be shown in red, and double-clicking a valid entry will open the corresponding folder in Finder or Windows Explorer. In the screenshot above, you see that Elements is looking at both externally registered locations from ~Library
(indicated by the "(User)" suffix), as well as those inside Fire (indicated by "(Fire)").
You will also be able to add custom paths via this dialog.
In Visual Studio, you can view and configure reference paths in the "Tools|Options" dialog, under "Projects and Solutions|RemObjects Elements|Reference Paths" in the tree:
See Also
- References
- Fire Preferences
- Visual Studio Options