Issue deploying AppEngine Flexible Endpoints example app .Net

160 views
Skip to first unread message

Paul Mazzuca

unread,
Jun 28, 2017, 4:23:47 PM6/28/17
to Google App Engine
In following the instructions for https://cloud.google.com/endpoints/docs/get-started-app-engine-dotnet,  when running the following commands, I receive the exception below:

gcloud beta app deploy .\bin\Debug\netcoreapp1.0\publish\app.yaml

Unhandled Exception: System.IO.FileNotFoundException: Could not find file '/app/IO.Swagger.xml'.

   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)

   at Interop.CheckIo[TSafeHandle](TSafeHandle handle, String path, Boolean isDirectory, Func`2 errorRewriter)

   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)

   at System.IO.UnixFileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, FileStream parent)

   at System.IO.UnixFileSystem.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, FileStream parent)

   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)

   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)

   at System.Xml.XmlSystemPathResolver.GetEntity(Uri uri, String role, Type typeOfObjectToReturn)

   at System.Xml.XmlTextReaderImpl.FinishInitUriString()

   at System.Xml.XmlTextReaderImpl..ctor(String uriStr, XmlReaderSettings settings, XmlParserContext context, XmlResolver uriResolver)

   at System.Xml.XmlReaderSettings.CreateReader(String inputUri, XmlParserContext inputContext)

   at System.Xml.XmlReader.Create(String inputUri, XmlReaderSettings settings, XmlParserContext inputContext)

   at System.Xml.XmlReader.Create(String inputUri)

   at System.Xml.XPath.XPathDocument..ctor(String uri, XmlSpace space)

   at System.Xml.XPath.XPathDocument..ctor(String uri)

   at IO.Swagger.Startup.<ConfigureServices>b__5_1(SwaggerGenOptions options)

   at Microsoft.Extensions.Options.OptionsCache`1.CreateOptions()

   at System.Threading.LazyInitializer.EnsureInitializedCore[T](T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory)

   at Microsoft.Extensions.DependencyInjection.SwaggerGenServiceCollectionExtensions.CreateSwaggerProvider(IServiceProvider serviceProvider)

   at Microsoft.Extensions.DependencyInjection.ServiceProvider.ScopedCallSite.Invoke(ServiceProvider provider)

   at Microsoft.Extensions.Internal.ActivatorUtilities.ConstructorMatcher.CreateInstance(IServiceProvider provider)

   at Microsoft.Extensions.Internal.ActivatorUtilities.CreateInstance(IServiceProvider provider, Type instanceType, Object[] parameters)

   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass3_0.<UseMiddleware>b__0(RequestDelegate next)

   at Microsoft.AspNetCore.Builder.Internal.ApplicationBuilder.Build()

   at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()

   at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build()

   at IO.Swagger.Program.Main(String[] args)


The endpoints are working through the swagger UI locally. Any ideas would be helpful. Thanks.

Also, using the following framework on MacOS.

Microsoft .NET Core Shared Framework Host


  Version  : 1.1.0

  Build    : 928f77c4bc3f49d892459992fb6e1d5542cb5e86

Yannick (Cloud Platform Support)

unread,
Jun 29, 2017, 2:52:29 PM6/29/17
to google-a...@googlegroups.com
Hello Paul, could you please clarify if this error is the only output you get from typing the command to deploy to App Engine? Do you really get this error while deploying or while trying to use the endpoint? I ask because I would not expect gcloud to give a .NET exception related to running the backend code itself.

Please include the full logs for deployment (and if relevant for calling the endpoint) if possible.

Paul Mazzuca

unread,
Jun 29, 2017, 4:05:51 PM6/29/17
to google-a...@googlegroups.com
As clarification, I can run the endpoint locally, but am unable to deploy it. I receive the error  after executing the deploy command.  The only other lines that I did not include in the previous post are below:

Updating service [default]...failed.

ERROR: (gcloud.beta.app.deploy) Error Response: [9]

Application startup error:


... stacktrace from previous post


On Thu, Jun 29, 2017 at 11:52 AM, 'Yannick (Cloud Platform Support)' via Google App Engine <google-a...@googlegroups.com> wrote:
Hello Paul, could you please clarify if this error is the only output you get from typing the command to deploy to App Engine? Do you really get this error while deploying or while trying to use the endpoint? I ask because I would not expect gcloud to give a Java exception related to running the backend code itself.

--
You received this message because you are subscribed to a topic in the Google Groups "Google App Engine" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-appengine/kPrd7FByZ_U/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-appengine+unsubscribe@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/c9c97447-0957-42da-b4fd-cb0210506b93%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Yannick (Cloud Platform Support)

unread,
Jun 30, 2017, 2:02:14 PM6/30/17
to Google App Engine
Thanks for this precision Paul. I don't yet know why you're getting this issue but with the added context of "Error Response: [9] Application startup error:" we now know that the application fails to launch and complete its deployment after it's been successfully uploaded.

I have tested the tutorial's procedure and encountered no issues on a Windows 10 VM. I do not know why the code would fail to run while deployed from MacOS.. Could I ask you to make sure you're using the most up to date version of the dotnet samples and try again?


On Thursday, June 29, 2017 at 4:05:51 PM UTC-4, Paul Mazzuca wrote:
As clarification, I can run the endpoint locally, but am unable to deploy it. I receive the error  after executing the deploy command.  The only other lines that I did not include in the previous post are below:

Updating service [default]...failed.

ERROR: (gcloud.beta.app.deploy) Error Response: [9]

Application startup error:


... stacktrace from previous post

Yannick (Cloud Platform Support)

unread,
Jun 30, 2017, 2:13:12 PM6/30/17
to Google App Engine
Ah and keep in mind that you can use the "--verbosity=debug" flag to get more insight on why your deployment is failing.

Paul Mazzuca

unread,
Jun 30, 2017, 5:27:18 PM6/30/17
to google-a...@googlegroups.com
I started from scratch. Here are the steps that I took.

1. Clone Repo
2. Open GettingStarted in Visual Studio for Mac
3. Visual Studio tells me that I have to migrate the project to a newer format. 
      - dotnet from command line does not work unless I do this migration
4.  I do the migration
5.  Go to my terminal, and cd into the GettingStarted directory
6.  dotnet restore && dotnet publish
7.  go to src/IO.Swagger directory
8.  gcloud beta app deploy ./bin/Debug/netcoreapp1.0/publish/app.yaml

Same error received.  Nothing informative from debug flag. 

Yannick (Cloud Platform Support)

unread,
Jul 3, 2017, 2:34:02 PM7/3/17
to Google App Engine
Thanks for the details. I was able to reproduce your exact error message by deleting/renaming "src\IO.Swagger\bin\Debug\netcoreapp1.0\publish\IO.Swagger.xml" prior to running "gcloud app deploy".

Could you make sure that "src\IO.Swagger\bin\Debug\netcoreapp1.0\publish\" does contain the following files after "dotnet publish" was ran :
  • IO.Swagger.deps.json
  • IO.Swagger.dll
  • IO.Swagger.pdb
  • IO.Swagger.runtimeconfig.json
  • IO.Swagger.xml
On Friday, June 30, 2017 at 5:27:18 PM UTC-4, Paul Mazzuca wrote:
I started from scratch. Here are the steps that I took.

1. Clone Repo
2. Open GettingStarted in Visual Studio for Mac
3. Visual Studio tells me that I have to migrate the project to a newer format. 
      - dotnet from command line does not work unless I do this migration
4.  I do the migration
5.  Go to my terminal, and cd into the GettingStarted directory
6.  dotnet restore && dotnet publish
7.  go to src/IO.Swagger directory
8.  gcloud beta app deploy ./bin/Debug/netcoreapp1.0/publish/app.yaml

Same error received.  Nothing informative from debug flag. 

Paul Mazzuca

unread,
Jul 6, 2017, 5:34:06 PM7/6/17
to google-a...@googlegroups.com
The IO.Swagger.xml file does not exist in that directory.

Yannick (Cloud Platform Support)

unread,
Jul 7, 2017, 9:08:22 AM7/7/17
to Google App Engine
Then it looks like the issue has to do with the .NET framework you've installed or another part of your environment.

Are you sure you are running specifically .NET Core 1.0.3 SDK Preview 2 build 3156 as specified in the tutorial?


On Thursday, July 6, 2017 at 5:34:06 PM UTC-4, Paul Mazzuca wrote:
The IO.Swagger.xml file does not exist in that directory.
Reply all
Reply to author
Forward
0 new messages