Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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
nuget配置转换文件出现问题_Nuget_Config Transformation - Fatal编程技术网

nuget配置转换文件出现问题

nuget配置转换文件出现问题,nuget,config-transformation,Nuget,Config Transformation,我正在创建一个nuget包,该包除包含其他文件外,还包含配置文件,如:f1.config、f2.config等。这些配置文件依次在web.config文件中引用 由于安装此软件包的项目中可能存在或不存在这些配置文件,我已将它们重命名为f1.config.transform、f2.config.transform 虽然软件包的安装在所有可能的情况下都能完美运行,但在某个特定情况下,卸载并没有按预期工作。也就是说,如果在安装之前项目中不存在配置文件f2.config,则在卸载包时不会将其删除 有什么

我正在创建一个nuget包,该包除包含其他文件外,还包含配置文件,如:f1.config、f2.config等。这些配置文件依次在web.config文件中引用

由于安装此软件包的项目中可能存在或不存在这些配置文件,我已将它们重命名为f1.config.transform、f2.config.transform

虽然软件包的安装在所有可能的情况下都能完美运行,但在某个特定情况下,卸载并没有按预期工作。也就是说,如果在安装之前项目中不存在配置文件f2.config,则在卸载包时不会将其删除

有什么想法吗

编辑:NuGet规范文件

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
    <metadata>
        <id>WCFServicesProxyPackage</id>
        <version>1.0.3</version>
        <title />
        <authors>Shkelzen a. Saraqini</authors>
        <owners>Shkelzen a. Saraqini</owners>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>WCF services proxy package.</description>
        <language>en-CA</language>
        <references>
            <reference file="WCFServices.Proxy.dll" />
        </references>
    </metadata>
    <files>
        <file src="content\config\system.serviceModel.behaviors.Local.config.transform" target="content\config\system.serviceModel.behaviors.Local.config.transform" />
        <file src="content\config\system.serviceModel.behaviors.Production.config.transform" target="content\config\system.serviceModel.behaviors.Production.config.transform" />
        <file src="content\config\system.serviceModel.behaviors.QA.config.transform" target="content\config\system.serviceModel.behaviors.QA.config.transform" />
        <file src="content\config\system.serviceModel.bindings.Local.config.transform" target="content\config\system.serviceModel.bindings.Local.config.transform" />
        <file src="content\config\system.serviceModel.bindings.Production.config.transform" target="content\config\system.serviceModel.bindings.Production.config.transform" />
        <file src="content\config\system.serviceModel.bindings.QA.config.transform" target="content\config\system.serviceModel.bindings.QA.config.transform" />
        <file src="content\config\system.serviceModel.client.Local.config.transform" target="content\config\system.serviceModel.client.Local.config.transform" />
        <file src="content\config\system.serviceModel.client.Production.config.transform" target="content\config\system.serviceModel.client.Production.config.transform" />
        <file src="content\config\system.serviceModel.client.QA.config.transform" target="content\config\system.serviceModel.client.QA.config.transform" />
        <file src="content\Web.config.transform" target="content\Web.config.transform" />
        <file src="lib\net40\WCFServices.Proxy.dll" target="lib\net40\WCFServices.Proxy.dll" />
    </files>
</package>

WCFServicesProxyPackage
1.0.3
什克尔岑a。萨拉基尼
什克尔岑a。萨拉基尼
假的
WCF服务代理包。
恩卡

如何安装/卸载配置文件?能否共享脚本中的一些PowerShell代码段(假设您在包中使用PowerShell install.ps1/uninstall.ps1脚本)

也许您可以强制删除这些文件:


此外,如果XDT成为NuGet的OSS并从中受益,那么将来可能会改进此功能。

配置文件将作为NuGet软件包安装的一部分进行安装。我编辑了这个问题以包含NuGet规范文件。我根本没有使用install.ps1/uninstall.ps1。在卸载过程中,您在日志(Visual Studio输出窗口)中找到了什么吗?卸载过程中,NuGet将跳过自安装以来已修改的文件。仅显示两条消息:已成功从TestMvcApp中删除“WCFServicesProxyPackage 1.0.3”,并已成功卸载“WCFServicesProxyPackage 1.0.3”。在包安装之前不存在的*.config文件仍保留在项目中,而现有文件的内容将恢复为安装之前的内容。我希望这个描述有意义。感谢Xavier。如果未对*.config文件进行任何调整,则预期的行为是将内容还原为现有的原始文件,并删除不存在的文件。后者似乎是一个问题。你能用复制的步骤(最好附上一个样本包)来提交一个bug吗?谢谢Xavier。我很快就会提交一个bug。