xamarin-component.exe: The system cannot find the file specified.

KevinFordKevinFord USUniversity, Certified XTC Partners ✭✭✭

I'm encountering an error trying to build a component package. The following is the command I'm running:

xamarin-component.exe create-manually CSLA-Core-4.5.560.xam \
--name="CSLA .NET - Core" \
--summary="CSLA .NET is a software development framework that helps you build a powerful, maintainable business logic layer for Windows, Web, service-oriented and workflow applications." \
--publisher="Marimer, LLC" \
--website="http://www.cslanet.com/" \
--details="Details.md" \
--license="License.md" \
--getting-started="GettingStarted.md" \
--icon="CSLA-Core_128x128.png" \
--icon="CSLA-Core_512x512.png" \
--library="ios":"../bin/release/iOS/Csla.dll" \
--library="android":"../bin/release/Android/Csla.dll" \
--sample="iOS Sample. Shows Basic usage of CSLA .Net in iOS":"../samples/iOS/cs/SimpleApp/SimpleApp.sln" \
--sample="Android Sample. Shows Basic usage of CSLA .Net in Android":"../samples/Android/cs/SimpleApp/SimpleApp.sln"

This is the output I get:

C:\Projects\GitHub\csla\XamarinPackage>xamarin-component.exe create-manually CSL
A-Core-4.5.560.xam \ --name="CSLA .NET - Core" \ --summary="CSLA .NET is a softw
are development framework that helps you build a powerful, maintainable business
logic layer for Windows, Web, service-oriented and workflow applications." \ --
publisher="Marimer, LLC" \ --website="http://www.cslanet.com/" \ --details="Deta
ils.md" \ --license="License.md" \ --getting-started="GettingStarted.md" \ --ico
n="CSLA-Core_128x128.png" \ --icon="CSLA-Core_512x512.png" \ --library="ios":"..
/bin/release/iOS/Csla.dll" \ --library="android":"../bin/release/Android/Csla.dl
l" \ --sample="iOS Sample. Shows Basic usage of CSLA .Net in iOS":"../samples/i
OS/cs/SimpleApp/SimpleApp.sln" \ --sample="Android Sample. Shows Basic usage of
CSLA .Net in Android":"../samples/Android/cs/SimpleApp/SimpleApp.sln" \
Running mdoc "update" "--debug" "-LC:\Program Files (x86)\Reference Assemblies\M
icrosoft\Framework\MonoAndroid\v4.4" "-LC:\Program Files (x86)\Reference Assembl
ies\Microsoft\Framework\MonoTouch\v1.0" "--import=C:\Projects\GitHub\csla\bin\re
lease\iOS\Csla.xml" "-o" "C:\Users\kevinf\AppData\Local\Temp\CSLA-Core-4.5.560-1
510987576\en" "C:\Projects\GitHub\csla\bin\release\iOS\Csla.dll"...

Unhandled Exception: System.ComponentModel.Win32Exception: The system cannot fin
d the file specified
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startIn
fo)
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at Xamarin.Components.Packaging.Utility.Exe(String command, String[] args)
at Xamarin.Components.Packaging.Creation.PackageCreator.WriteMonodocsUsingXml
docs(ZipOutputStream zipStream, PackageSpec spec)
at Xamarin.Components.Packaging.Creation.PackageCreator.CreatePackage(Package
Spec spec)
at Xamarin.Components.CreateManuallyCommandHandler.Invoke(String[] args)
at Xamarin.Components.MainClass.Main(String[] args)

Any ideas?

Thanks!

Posts

  • KevinFordKevinFord USUniversity, Certified XTC Partners ✭✭✭

    Hmm, I tried the same command on a different device with the same result. Is there any way to debug Xamarin-component.exe or get information about what file it is having difficulty with?

  • CheesebaronCheesebaron DKInsider, University mod

    Remove lines from the command until you hit the one that gave the problem?

  • KevinFordKevinFord USUniversity, Certified XTC Partners ✭✭✭

    Chessebaron,
    It appears to be the library lines, --library="ios":"..\bin\release\iOS\Csla.dll" . I've even replaced them with absolute paths, no luck. The event viewer doesn't provide me with any more information about exactly what file it thinks is missing. :| I have the Csla.dll and Csla.XML in the folder and I even tried adding a Csla.pdb (though that shouldn't be needed) and still no luck.

    I'm sure there is something simple, I'm just not sure what it is looking for.

  • moljacmoljac HRBeta ✭✭✭
    edited April 2014

    Hi

    Here in the path You are using backslashes

    --library="ios":"..\bin\release\iOS\Csla.dll" 
    

    and in commandline You prettify Your code through more lines (I do it myself) with backslashes which indicates You are packing on Mac and there You should use forwardslashes / for paths.

    Check this solution I do work on. It is not over yet, but should give You rough idea. I need to minimize number of variables, but those were just for testing to see the dependencies (names, icon names, version)

    In the solution there is component project in bat/ folder scripts for packing on Windows (bat files) and (sh, sh.command for packing on Mac)

    Sample Solution:

    https://github.com/moljac/Xamarin.Component.Template

    Try just filling the variables and run those.

    There are 4 steps (4 batches per OS)

    1. compile (optional)
    2. content - copying content
    3. pack
    4. unpack and test

    A feedback would be welcome.

    cheers

    Mel

  • KevinFordKevinFord USUniversity, Certified XTC Partners ✭✭✭

    Mel,
    That wasn't it. I'm on a PC. Even this stripped down command dies with the error:

    xamarin-component.exe create-manually CSLA-Core-4.5.560.xam
    --details="C:\Projects\GitHub\csla\XamarinPackage\Details.md"
    --license="C:\Projects\GitHub\csla\XamarinPackage\License.md"
    --getting-started="C:\Projects\GitHub\csla\XamarinPackage\GettingStarted.md"
    --library="ios":"../Bin/Release/iOS/Csla.dll"

    That's about the min I can do. If I could debug xamarin-component.exe I might have something. Right now I'm dead in the water.

  • KevinFordKevinFord USUniversity, Certified XTC Partners ✭✭✭

    Interesting. When I remove the Csla.xml file from the folder with Csla.dll, the problem resolves itself. I'd rather include the .xml file. I wonder why the Csla.xml file is tripping it up?

  • moljacmoljac HRBeta ✭✭✭

    There are several undocumented (or better not clearly stated) issues with filenaming, versioning and platform-id with xamarin-component.exe. And the exceptions are not too expressive I know.

    Why Csla.xml is tripping that up? I'm not sure. xamarin-component makes some assumptions and maybe grabs the wrong file, or searches for documentation in xml. I don;t know. I'll put that in my test cases and check.

    So does it work right now?

    For me the best way was to check unpacked xam and test everything from there. if possible on Windows and Mac.

    I'm not gonna be able to help You in next few days (until Wednesday), cos I'm on one conference, but I'll look at the issue on Thursday, Froday.

    cheers

    Mel

    PS. Sorry I concluded that You work on Mac. I saw \ and thought - paths!

  • KevinFordKevinFord USUniversity, Certified XTC Partners ✭✭✭

    What I did to work around it was simply to rename/remove Csla.xml from the bin directory where the .dll file is. Since I didn't tell Xamarin-component.exe to look for that file there must be some special code that is in there to look for a file Csla.xml in the same directory as Csla.dll. What it is expecting, I'm not sure as Csla.xml is just the generated documentation file. Perhaps it is expecting some sort of loadable resource file. Not sure.

    Removing it solved the issue. It would be interesting to know what it was looking for.

Sign In or Register to comment.