0

他のファイルに加えて、f1.config、f2.config などの構成ファイルも含む nuget パッケージを作成しています。これらの構成ファイルは、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>
4

1 に答える 1

0

設定ファイルをどのようにインストール/アンインストールしますか? スクリプトからいくつかの PowerShell スニペットを共有していただけますか (パッケージで PowerShell install.ps1/uninstall.ps1 スクリプトを使用していると仮定します)。

ファイルを強制的に削除できるかもしれません: http://www.timvw.be/2011/10/18/force-the-removal-of-a-file-with-powershell/

また、XDT が NuGet の恩恵を受ける OSS になった場合、将来的にこの機能が改善される可能性があります。

于 2013-03-13T22:01:48.040 に答える