Click-Onceの公開を使用しようとしています。問題は、開発用コンピュータで使用している接続文字列が正しくありません私が本番環境で使用するもの。 Configファイルが初めて公開されることを避けるにはどうすればよいですか?私は出版物リストにそれを含めないことをプロパティで試みましたが、それを行うオプションはありません。Click-Onceを使用した公開で設定ファイルを無効にする
答えて
設定ファイルは、アドインで使用されるすべての必要な設定を保存するため、デプロイメントの一部です。
アドインが本番環境にある場合はHOSTURL=http://example.com
、アドインを開発する場合はHOSTURL=http://localhost
と設定してください。人間が関与することなく自動的にこのすべてを期待しています。
その後、あなたはこれらのいずれかを試してください可能性があります
[1]値にClickOnceLocation
を依存ClickOnceLocation
し、使用設定を確認してみます。 には、Addinを開発/デバッグしている間に"Debug"
が含まれていると仮定します。
//CodeBase is the location of the ClickOnce deployment files
Uri uriCodeBase = new Uri(assemblyInfo.CodeBase);
string ClickOnceLocation = Path.GetDirectoryName(uriCodeBase.LocalPath.ToString());
if(ClickOnceLocation.Contains("Debug"))
{
URL = "http://localhost";
}
else
{
URL = //from app.config
}
[2] Updating the app.config by using build configurations
をパブリッシュ本番サーバに値を持つ別のファイルが中に拾っ得られるように使用することができますいくつかのトリックがあります。
ローカル展開/デバッグ用に2つの設定ファイルを用意し、実際の公開バージョンまたは本番版のアプリケーション用に2つの設定ファイルを用意することができます。デバッグ設定ファイルはlocalhostサーバを指すことができますが、実際に公開された設定ファイルは実サーバを指すことができます。次に、アクティブなビルド構成に応じて適切な設定ファイルが選択されるように、ビルド設定を構成することができます。
2つの異なるapp.configファイルをプロジェクトに追加するには、プロジェクトファイルのapp.configへの参照を更新できます。 App.configファイルは、以下のXMLでプロジェクトファイル(vbprojまたはcsproj)で定義されている:
<ItemGroup>
…
<None Include=”app.config” />
</ItemGroup>
App.configファイルノードと共にItemGroup内の他のノードが存在してもよいです。ちょうどこのItemGroupノードからApp.configファイルを削除し、次のXMLを持つノードの下に新しいItemGroupを作成します。
<ItemGroup Condition=” ‘$(Configuration)|$(Platform)’ == ‘Debug|AnyCPU’ “>
<None Include=”app.config” />
</ItemGroup>
<ItemGroup Condition=” ‘$(Configuration)|$(Platform)’ == ‘Release|AnyCPU’ “>
<None Include=”publishedapp.config” />
</ItemGroup>
これは基本的にアクティブなコンフィギュレーションに設定されている場合、通常のapp.configファイルが使用されることを意味しますプロジェクトの "公開された"サブフォルダに格納されている実際のプロダクション変数を含む、変更されたapp.configは、アクティブな構成が "リリース"に設定されている場合に使用されます。
定義済みの他のビルド構成と一致するようにItemGroup条件を変更できます。 1つの可能性は、「リリース」構成に基づいて定義された別の「公開」構成を持つことですが、実際にアプリケーションを公開する場合にのみ使用されます。
このプロセスの追加免責事項は、VSプロジェクトシステム自体とデザイナーがapp.configファイルを認識していないことです。 Visual Studioでは、元のファイルのみが認識されます。プロダクション環境の値を含む変更されたapp.configは、msbuildプロセスでのみ使用されます。したがって、設定デザイナを使用してメインのapp.configを更新すると、変更されたapp.configは更新されず、ファイルを手動で更新する必要があります。
プロジェクトを適切に設定したら、さまざまなビルド構成を切り替えて設定ファイルを変更し、Visual Studioからアプリケーションを公開し、更新および再署名プロセスを実行する必要がありません。
すべての回答者に大きな感謝、私はものを勉強し、それらに応じてマークする – burech
- 1. ClickOnceを使用して並列インストーラを公開するには?
- 2. 公開ウィザードを使用してClickOnceアプリケーションを公開できません
- 3. clickonceなしでの公開
- 4. ClickOnceとMSIを使用した公開アプリケーション
- 5. MSBuildで公開を無効にする
- 6. ClickOnce公開
- 7. ClickOnce Stallsを永久に使用してビルドを公開
- 8. MSBuildでClickOnceアプリを公開する
- 9. xml設定ファイルでClickonceを使用する
- 10. CodeIgniter設定ファイルを公開して公開するためのGit
- 11. ClickOnce公開ツールを使用してLocalhostにWPFアプリケーションを公開する最良の方法は
- 12. ClickOnceを使用してSQLiteでWinformsアプリケーションを公開する方法
- 13. Umbracoでスケジュールされた公開を無効にする
- 14. コマンドラインからClickOnceを公開する
- 15. すでに公開されているClickOnceにファイルを追加する
- 16. VBAを使用してOutlookセキュリティ設定を無効にする
- 17. ClickOnce公開中のエラー
- 18. clickonceセキュリティでc#アプリケーションを公開すると、osversionエラーの無効な値がスローされます
- 19. ClickOnce公開時にインポートされたターゲットを含める(FFMPEG)
- 20. InfusionsoftでAPI経由で公開されたファイルを設定するには?
- 21. 公開LDAPでGitLabを設定する
- 22. リリースモードのClickOnceは公開しません
- 23. デフォルトで公開されたファイルをS3に公開する
- 24. 無効な設定logstashファイル
- 25. Clickonceアプリケーションの公開中にエラーが発生しました
- 26. CSSを使用してラジオボタンを有効/無効に設定する
- 27. WPF ClickOnce - 場所情報を公開
- 28. ClickOnceの公開 - 「ファイル 『のdefault.htm』は、すでにこのWebサイトに存在する」
- 29. 公開鍵を使用したPythonでの公開解除
- 30. ビューページで設定したときにtablayoutを無効にする
私はプロジェクトの関係者でもありませんが、ビルトインのweb.configトランスフォーメーションエンジンのように、app.config変換を適用するビジュアルスタジオ(ビールのように無料)のプラグインがあります。これはSlowCheetahと呼ばれ、ビルドプロファイルに基づいてさまざまな設定を行うことができます。 https://marketplace.visualstudio.com/items?itemName=WillBuikMSFT.SlowCheetah-XMLTransformsmたとえば、リリース配備を行うときに、ダミー設定ファイルを公開することができます。 – Tommy