0

私の要件は、アプリケーションマニフェストファイルのProductNameを変更することです。ここで説明した解決策を実行しましたが、私にとっては、製品名は変更されていません。GenerateApplicationManifestログでは、タスクが実行されていないことがわかります。ログには次のように書かれています。

Skipping target "GenerateApplicationManifest" because all output files are up-to-date with respect to the input files.

しかし、このタスクを実行して、製品名を変更したいと思います。これがコードです。

<DeployEXE>The application .exe file</DeployEXE>
<DeployManifest>The .exe.manifest file</DeployManifest>
<AppManifest>The .application file</AppManifest>

Line 1: <Exec Command="$(Msbuild) $(ClientAppProject) /t:Clean;Publish /p:BootstrapperEnabled=true;UpdateRequired=true;MinimumRequiredVersion=$(Version);UpdateEnabled=true;UpdateMode=Foreground;UpdateInterval=7;UpdateIntervalUnits=Days;UpdatePeriodically=false;PublishDir=$(PublishDir);ApplicationVersion=$(Version);PublisherName=&quot;$(PublisherName)&quot;;ProductName=&quot;$(ClickOnceAppTitle)&quot;;PublishUrl=$(ClickOnceUrl);GenerateManifests=true;Install=true;Configuration=Release;Platform=AnyCPU"/>

Line 2: <Exec Command="$(SN) -R $(DeployEXE) $(SNKFile)"/>

Line 3: <Exec Command="$(MAGE) -UPDATE $(DeployManifest) -CertFile $(CertFile) -Password $(Password) -pub &quot;$(PublisherName)&quot; -UseManifestForTrust t" />

Line 4: <Exec Command="$(MAGE) -UPDATE $(AppManifest) -AppManifest $(DeployManifest) -CertFile $(CertFile) -Password $(Password) -pub &quot;$(PublisherName)&quot; -UseManifestForTrust t"/>

Line 5: <GenerateApplicationManifest
            AssemblyName="$(EXEName).exe"
            Product="$(ClickOnceAppTitle)"
            EntryPoint="$(EXEName).exe"
            OutputManifest="$(EXEName).exe.manifest">
            <Output
                ItemName="ApplicationManifest"
                TaskParameter="OutputManifest"/>
        </GenerateApplicationManifest>

Line 1、.applicationファイルと.exe.manifetファイルに設定されている正しい発行元と製品名を確認できます(例:PublisherNameはに設定されMyCompany、ProductNameはに設定されていMy Company Softwareます)。実行後Line 4、パブリッシャー名は正しいままですが、製品名はアセンブリ名に置き換えられます(例:ProductNameはに変更されますMy.Company.Software)。これを修正するために、を追加しましたLine 5。これは、理想的にはProductNameを修正する必要がありますが、実際には発生しません。

ここで何が問題になる可能性がありますか?このタスクがMSBUILDによって無視されるのはなぜですか?

4

0 に答える 0