I have a C# file that compiles and installs perfectly fine on Windows. I can compile it without error on Linux with mcs using the command:
mcs -reference:System.Data.dll -target:library -out:tests/RegEx.dll tests/regex.cs
I have verified that the file exists and has permissions 775 in the same directory as the source. Next I try to install it on the server with the following:
/opt/mssql-tools/bin/sqlcmd -P Password12! -S localhost -U SA -Q "CREATE ASSEMBLY Regex from '$TRAVIS_BUILD_DIR/tests/RegEx.dll' WITH PERMISSION_SET = SAFE"
However, I received the error:
CREATE ASSEMBLY failed because it could not open the physical file '/home/travis/build/Beakerboy/sqlsrv/tests/RegEx.dll': 2(The system cannot find the file specified.).
I was worried that paths may need to be “Windows format” and found a suggestion that even ‘C:\’ may be required. I tried this next, but the file still was not found:
/opt/mssql-tools/bin/sqlcmd -P Password12! -S localhost -U SA -Q "CREATE ASSEMBLY Regex from 'c:\home\travis\build\Beakerboy\sqlsrv\tests\RegEx.dll' WITH PERMISSION_SET = SAFE"
Anyone have a suggestion on how this needs to be formatted? The full travis script for my server install is on GitHub