Asp.net mvc 出版时,到底应该出版什么?

Asp.net mvc 出版时,到底应该出版什么?,asp.net-mvc,visual-studio-2012,publish,publishing,Asp.net Mvc,Visual Studio 2012,Publish,Publishing,我不习惯通过VisualStudio“发布”项目。我从昨天就开始尝试,我发现了以下几点: 我的应用程序中包含的特定文件夹中的所有图像(例如:MyProject/images/Image1.jpeg)的复制方式与我的项目中的复制方式相同 “我的控制器/实用程序”类均未出现在已发布的项目中 但是,视图和javascript文件都是显示的,但由于它们是显示的,因此MyApp.js将被复制为MyApp.js 所以我的问题是:应该是这样吗?那我的逻辑呢,不也应该被复制吗?它不应该在dll中被压缩、编译或保

我不习惯通过VisualStudio“发布”项目。我从昨天就开始尝试,我发现了以下几点:

  • 我的应用程序中包含的特定文件夹中的所有图像(例如:MyProject/images/Image1.jpeg)的复制方式与我的项目中的复制方式相同
  • “我的控制器/实用程序”类均未出现在已发布的项目中
  • 但是,视图和javascript文件都是显示的,但由于它们是显示的,因此MyApp.js将被复制为MyApp.js
  • 所以我的问题是:应该是这样吗?那我的逻辑呢,不也应该被复制吗?它不应该在dll中被压缩、编译或保护,否则每个人都可以在公共场合看到我的代码,这是我不想要的


    请随意教我
    发布
    应该做什么以及哪里出了问题。谢谢

    Publish应该只做你提到的事情

    • 内容文件夹中的图像
    • 内容文件夹中的任何样式表
    • 脚本文件夹中的脚本
    • 所有视图文件任何具有生成操作=内容的内容
    • 编译后的文件构成二进制文件和依赖项的dll
    事实上,所有的图像、css、Java脚本也将buildaction设置为仅内容

    如果在项目中选择了一个文件,但在文件夹中找不到该文件,如果其生成操作为“内容”,则生成将成功,但发布可能失败。因此,在这种情况下,如果不需要,您可能必须排除该文件,或者将该文件添加到文件夹中

    大多数自动构建系统,如巡航控制系统,也有同样的功能,尽管有相当先进的界面


    您在c#或vb.net中的逻辑已经编译到二进制文件中。但是html中的任何脚本、样式或脚本都不会受到保护。但是使用BundleConfig捆绑脚本和样式可能会在某种程度上保护它。

    发布应该只做您提到的事情

    • 内容文件夹中的图像
    • 内容文件夹中的任何样式表
    • 脚本文件夹中的脚本
    • 所有视图文件任何具有生成操作=内容的内容
    • 编译后的文件构成二进制文件和依赖项的dll
    事实上,所有的图像、css、Java脚本也将buildaction设置为仅内容

    如果在项目中选择了一个文件,但在文件夹中找不到该文件,如果其生成操作为“内容”,则生成将成功,但发布可能失败。因此,在这种情况下,如果不需要,您可能必须排除该文件,或者将该文件添加到文件夹中

    大多数自动构建系统,如巡航控制系统,也有同样的功能,尽管有相当先进的界面


    您在c#或vb.net中的逻辑已经编译到二进制文件中。但是html中的任何脚本、样式或脚本都不会受到保护。但是,使用BundleConfig捆绑脚本和样式可能会在某种程度上保护它。

    您的所有逻辑都转换为dll,因此只需在IIS上创建一个实例并在那里托管您的应用程序即可。您可以按照所示的步骤进行操作。

    您的所有逻辑都将转换为dll,因此只需在IIS上创建一个实例并在那里托管您的应用程序即可。您可以按照所示的步骤操作。

    文件属性中的“复制到输出目录”设置也值得一提。好的,所以基本上我所有的逻辑都包含在我的bin/MyApp.dll中,它比其他dll大很多?dll的大小不同。您可能包含了另一个第三方dll,它可能比您的dll大或小。所以这可能不是思考的方式。但输出dll通常命名为applicationname.dll。您还可以使用项目设置将此更改为其他设置。但是不管怎么说,如果没有在bin文件夹中发布的依赖dll,这个dll将无法运行。是的,它们也在那里。好的,我想我明白了。导入的所有逻辑+依赖项和其他包都在dll中,应用程序将正常运行。是吗?是的,c#或vb.net的所有逻辑都在dll中。您的演示文稿/客户端代码位于视图/内容/脚本中,这些视图将数据从dll中拉入/推送到服务器中正在执行的代码中。文件属性中的“复制到输出目录”设置也值得一提。好的,所以基本上我所有的逻辑都包含在我的bin/MyApp.dll中,它比其他dll大很多?dll的大小不同。您可能包含了另一个第三方dll,它可能比您的dll大或小。所以这可能不是思考的方式。但输出dll通常命名为applicationname.dll。您还可以使用项目设置将此更改为其他设置。但是不管怎么说,如果没有在bin文件夹中发布的依赖dll,这个dll将无法运行。是的,它们也在那里。好的,我想我明白了。导入的所有逻辑+依赖项和其他包都在dll中,应用程序将正常运行。是吗?是的,c#或vb.net的所有逻辑都在dll中。您的演示文稿/客户机代码位于视图/内容/脚本中,这些视图将数据从dll中拉入/推送到服务器中正在执行的代码中。