8

ここにPowerShellの初心者。

そこで、PowerShellスクリプトを使用してNugetパッケージを作成しました。PowerShellスクリプトは、インストール時にVisualStudioプロジェクト内のxmlスキーマを変更します。問題がある...

xmlファイル内に次のような複数行のブロックコメントがある場合

<!--<foo>
   <bar>
   </bar>
</foo>-->

スクリプトが実行された後、Visual Studioはメッセージをポップアップし、ファイルに「一貫性のない行末があります......」と表示します。

コメントがない場合、または次のような1行のコメントがある場合

<!--foo-->

問題はない。どういうわけか、ブロックコメントで終わる行は、PowerShell関数によってCRLFから別のものに変更されます。

これは、xmlファイルをロードおよび保存するためのPowerShellスクリプトです。

 [xml]$xml = gc $xmlFileLocation -encoding utf8

 $xml.Save($xmlFileLocation)

私もの線に沿って何かを試しました

 set-content -encoding utf8 $xmlFileLocation $xml.outerXml

しかし、私はこのメッセージを受け取り続けます...

任意の提案/ヘルプをいただければ幸いです。

4

2 に答える 2

7

パイプGet-ContentスルーOut-String:

[xml] $xml = Get-Content 'foo.xml' | Out-String
$xml.foo.bar = 'baz'
$xml.Save('foo.xml')

私はこれをテストしました: なしOut-Stringで、Visual Studio にメッセージが表示されます。、Out-String私はしません、コメントはそのままにしておきます。

于 2012-11-20T19:49:25.747 に答える