小编Cha*_*age的帖子

Nuget复制并将文件添加到解决方案级别

我想创建一个NUGET包,将几个文件添加到某个解决方案文件夹中.具体而言,在安装时,包必须执行以下操作:

  1. 在目标项目中创建临时文件夹.
  2. 将与扩展名匹配的所有文件(例如*.txt)复制到临时文件夹.
  3. 将文件移动到Solution root.
  4. 创建名为"解决方案项"的解决方案文件夹.
  5. 添加刚刚移动到该解决方案文件夹的所有文件.
  6. 取下临时文件夹解决方案和磁盘.

我使用该package.nuspec文件创建临时目录并转储文件并init.ps1完成其余的工作.

不幸的是,在第1步之外没有任


这是我的package.nuspec档案.

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
  <metadata>
    <id>IncludeFiles</id>
    <version>1.0</version>
    <authors>Chameera</authors>
    <owners>Chameera</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>dummy include files</description>
    <tags>dummy</tags>
  </metadata>
  <files>
    <file src="source\*.txt" target="content\temp" />
  </files>
</package>
Run Code Online (Sandbox Code Playgroud)

这是我的init.ps1档案.

param($installPath, $toolsPath, $package, $project)

$projectFullName = $project.FullName 
$fileInfo = new-object -typename System.IO.FileInfo -ArgumentList $projectFullName
$projectDirectory = $fileInfo.DirectoryName

$tempDirectory = "temp"
$sourceDirectory = "$projectDirectory\$tempDirectory"
$destinationDirectory = (get-item $sourceDirectory).parent.FullName

if(test-path $sourceDirectory -pathtype container)
{
 robocopy $sourceDirectory $destinationDirectory /XO …
Run Code Online (Sandbox Code Playgroud)

powershell init nuget nuget-package

6
推荐指数
1
解决办法
2465
查看次数

.NET MVC禁用浏览器缓存的最佳方法是什么?

就我的研究而言,有几个步骤可以确保禁用浏览器缓存.必须设置这些HTTP标头:

Cache-Control: no-cache, no-store, must-revalidate, proxy-revalidate
Pragma: no-cache
Expires: -1
Last-Modified: -1
Run Code Online (Sandbox Code Playgroud)

我发现这可以通过两种方式完成:

方法一:使用web.config文件

<add name="Cache-Control" value="no-store, no-cache, 
    must-revalidate, proxy-revalidate"/>
<add name="Pragma" value="no-cache" />
<add name="Expires" value="-1" />
<add name="Last-Modified" value="-1" />
Run Code Online (Sandbox Code Playgroud)

方式二:使用_Layout.cshtml中的元标记

<meta http-equiv="Cache-Control" content="no-cache, no-store,
    must-revalidate, proxy-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Expires" content="-1" />
Run Code Online (Sandbox Code Playgroud)

我的问题:哪种方法更好?或者,他们同样可以接受吗?这些都与不同的平台有什么关系?哪些浏览器会尊重哪些标题?

此外,如果有的话,请随意添加我错过的任何内容.

security asp.net-mvc browser-cache

3
推荐指数
1
解决办法
2188
查看次数