According to U-SQL reference about CREATE ASSEMBLY statement: https://msdn.microsoft.com/en-us/library/azure/mt763293.aspx
When we include additional files with the assembly from the store, we can definitely define a relative path for each file in the store we are referring to, however, what if we want to locate it in a relative path that other dlls are expecting while executing.
Example : CREATE ASSEMBLY BusinessLogic FROM @"/Path1/BusinessLogic.dll" WITH ADDITIONAL_FILES = ( @"/Path1/Path2/dataFile.xml", )
Now while BusinessLogic.dll is running, it's expecting dataFile.xml to be in relative directory /Path2, which is not preserved in the runtime (knew that from local debugging), and thus the whole execution fails, how to preserve this relative path for additional files ?
As the documentation you refer to explains, the additional files are being placed into the working directory at the location without a directory right now:
This clause optionally specifies the name that is used for the additional file, when it is placed into the runtime working directory. The string literal has to be a valid filename (and not contain a path) or an error is raised. Note that this should the name of the file that the main assembly will be using to refer to the file or the assembly code will fail to find the file at runtime and raise an error.
So folder structures are currently not preserved. What can you do?
Please file a feature request to support relative path names in the additional file AS
clause.
You can deploy the files inside a ZIP file and then unzip them inside your custom assembly to get them to the right place.