-
Notifications
You must be signed in to change notification settings - Fork 6k
fixing json config #1009
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fixing json config #1009
Conversation
Open Publishing Build Service: The pull request content has been published and here are some sample preview links:
|
@@ -45,11 +45,11 @@ compilation process to be incremental: | |||
- not load compilation tools from PATH (for example, resgen, compilers) | |||
- use only known compilers (csc, vbc, fsc) | |||
|
|||
In order to build an executable application, you need a special configuration section in your project.json file: | |||
In order to build an executable application instead of a DLL, you need a [special configuration](project-json.md#emitentrypoint) section in your project.json file: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't "library" instead of "DLL" be better here, since applications in .Net Core are usually also DLL files?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Earlier in the topic we say that by default dotnet will build a binary with a DLL extension. I wanted to call out here explicitly how to change that and get an "exe" instead. @blackdwarf is this accurate?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mairaw yes and no. I think there are two questions here:
- How do I produce a runnable artifact, e.g. an application?
- How do I produce an "exe" file, that is, a native executable that I can "just run" on a given operating system?
For #1 above, it is true, you need the emitEntryPoint
setting, but, as @svick mentions, you would still get a DLL.
For #2, the only way is to create a self-contained deployment.
Hope this makes sense. In general, I would go with @svick's suggestion and just say "library" instead of a "DLL".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the clarification @blackdwarf. So, do we also need to change the emitEntryPoint doc? It says: "true to create an executable; false to produce a .dll file. The default is false." From your explanation, I would get a DLL whether it's true or false.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, good point, that needs to be changed as well.
Open Publishing Build Service: The pull request content has been published and here are some sample preview links:
|
LGTM modulo comments |
Open Publishing Build Service: The pull request content has been published and here are some sample preview links:
|
Also fencing the code block
@mairaw LGTM, but it looks like the build is stuck? |
Open Publishing Build Service: The pull request content has been published and here are some sample preview links:
|
Open Publishing Build Service: The pull request content has been published and here are some sample preview links:
|
|
/cc @blackdwarf
I've noticed we had the wrong config in this topic. Also adding a link to the project.json reference.