Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我是否可以在asp.net core 2.1 MVC中直接更改前端,而不重新发布解决方案_C#_Asp.net_Asp.net Core Mvc_Publishing_Asp.net Core 2.1 - Fatal编程技术网

C# 我是否可以在asp.net core 2.1 MVC中直接更改前端,而不重新发布解决方案

C# 我是否可以在asp.net core 2.1 MVC中直接更改前端,而不重新发布解决方案,c#,asp.net,asp.net-core-mvc,publishing,asp.net-core-2.1,C#,Asp.net,Asp.net Core Mvc,Publishing,Asp.net Core 2.1,我正在处理的项目是在ASP.NET Core 2.1中创建的,我需要在前端直接在应用所在的服务器上进行简单的小更改。我这里的问题是,在最新版本的.net core中,发布后的视图收集在一个不可编辑的views.dll中。服务器上发布的版本有点旧,项目本身有一些核心更改,但尚未完成,我无法重建并发布新版本,但由于一些演示目的,客户端需要在前端进行一些简单更改 如果有人面临同样的问题并有解决方案,请分享 这里有许多无声的问题。首先,您的整个开发方法需要改变。如果您没有使用版本控制系统,应该立即启动。

我正在处理的项目是在ASP.NET Core 2.1中创建的,我需要在前端直接在应用所在的服务器上进行简单的小更改。我这里的问题是,在最新版本的.net core中,发布后的视图收集在一个不可编辑的views.dll中。服务器上发布的版本有点旧,项目本身有一些核心更改,但尚未完成,我无法重建并发布新版本,但由于一些演示目的,客户端需要在前端进行一些简单更改


如果有人面临同样的问题并有解决方案,请分享

这里有许多无声的问题。首先,您的整个开发方法需要改变。如果您没有使用版本控制系统,应该立即启动。您可以创建一个免费的Azure DevOps帐户(以前称为VSTS)并在那里创建私有远程Git回购。Github也是一种选择,但只有公共回购是免费的;您需要一个付费帐户来创建私人回购。虽然还有其他版本控制系统可供选择,但Git是迄今为止使用最多、最友好的

一旦你使用了版本控制,你就应该遵循这样一条格言:你不会污染主分支。存储库的主分支应始终包含可随时部署的原始代码副本。对于正在进行的工作,您可以创建一个分支,然后在该分支上工作。这允许您在不影响代码的可部署副本的情况下进行和提交更改。在本例中,如果您在分支机构中工作,那么部署演示就不会有问题。您只需将正在进行的工作提交到分支,切换到master、publish,然后切换回分支继续工作

当您完成任何新功能或更改工作时,您应该创建一个所谓的请求。pull请求以一种初步的方式有效地将您的代码与主分支合并,允许对其执行自动构建,以验证主分支中的代码在应用此新代码的情况下仍能正确编译。当构建通过时,pull请求可以合并到master中,并且可以删除您正在处理的分支。冲洗并重复

现在,pull请求过程有点复杂,特别是当您是代码库的唯一开发人员时。从技术上讲,您可以在完成后直接将分支合并到主分支中。然而,我鼓励您仍然使用pull请求,尤其是将其与自动化构建相结合,后者也可以在Azure DevOps中轻松设置

长话短说,解决您的问题的最佳方法是首先确保它不是问题。拥有版本控制将为您做到这一点,并提供许多其他好处

也就是说,可以关闭视图预编译,这样您就可以在发布的应用程序上修改视图。您只需编辑csproj文件并将以下内容添加到其中一个项目组:

<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
false
但是,这将对web应用程序的性能产生负面影响。此外,修改现场站点是一种极为糟糕的形式,而且会导致灾难。我仍然强烈建议您不要进行视图编译,而是采用版本控制方法