gpt4 book ai didi

nuget 包将 web.config 重命名为 web.config.transform

转载 作者:行者123 更新时间:2023-12-04 15:56:47 25 4
gpt4 key购买 nike

我有一个问题,nuget 包在我的项目中将 web.config 重命名为 web.config.transform。我正在使用 csproj 文件和旁边的 nuspec 文件,并且 nuspec 文件中没有一行告诉 nuget 重命名文件,但在输出和 nupkg 文件中,web.config 被重命名为 web.config。转变。

web.config 不是项目的一部分,它只是由 nuspec 文件添加的(正常情况下,它是由构建过程生成的)

任何人都可以建议它为什么这样做 - 在我看来就像 nuget 中的一个错误,但也许 csproj 文件中有一些东西 nuget 将其作为重命名的指令?那可能是什么?

命令:

nuget pack path\to\projectfile\myproject.csproj -OutputDirectory C:\temp\publish -Version 1.1.646.32517 -Exclude Template.config -Exclude Template.Debug.config -Exclude Template.Release.config -Verbosity detailed

输出:
Attempting to build package from 'myproject.csproj'.
Packing files from 'path\to\projectfile\bin'.
Using 'myproject.nuspec' for metadata.
Add file 'path\to\projectfile\bin\myproject.dll' to package as 'lib\net451\myproject.dll'
Add file ... to package as ...
...
Found packages.config. Using packages listed as dependencies
Id: myproject
Version: 1.1.646.32517
Authors: xxx
Description: myproject
Dependencies: Microsoft.AspNet.WebApi (= 5.2.3)

Added file 'content\ApiTestPage.html'.
Added file ........
.....
Added file 'content\Web.config.transform'.
Added file 'lib\net451\myproject.dll'.

Successfully created package 'C:\temp\publish\myproject.1.1.646.32517.nupkg'.

nuspec 文件:
<?xml version="1.0"?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<description>$description$</description>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<releaseNotes>xxx release.</releaseNotes>
<copyright>Copyright xxx 2015</copyright>
</metadata>
<files>
<file src="bin\*.*" target="content\bin" />
<file src="web.config" target="content" />
</files>
</package>

提前致谢

克里斯

最佳答案

遇到同样的问题,我通过在我的 nuspec 文件中显式添加 Web.config 解决了这个问题。

<package >
<metadata>
...
</metadata>
<files>
<file src="Web.config" target = ""/>
</files>
</package>

当我第一次发现这个问题时,我还注意到 IIS 现在从包的根目录提供服务,而不是 /content ,所以我(不情愿地)通过将我的内容移动到包的根目录来解决这个问题。如果您没有这个问题,那么 <file src="Web.config" target = "content"/>可能更适合你。

为了完整起见,我的 nuspec 的文件部分(由于将内容移动到根目录)现在如下。
  <files>
<file src="Web.config" target = ""/>
<file src="*.asmx" target = ""/>
<file src="*.asax" target = ""/>
<file src="*.html" target = ""/>
<file src="bin\*.dll" target="bin" />
</files>

关于nuget 包将 web.config 重命名为 web.config.transform,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29624147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com