2017-05-15 10 views
0

私はこのようなVisual StudioのASP.NET C#のソリューション/プロジェクトのセットアップ:私は、プロジェクトのコンパイルを持っていますVS 2015/C#の - ビルド・プロジェクトに含める(ただし、コンパイルされない)ソースファイル

> MySolution 
    > MyProject 
     * MyFolder 
     * MyPages 
     * MyScripts 
     ... 
     MyConfig.cs <-- This file 
    ... 
--- End MyProject/MySolution 

が、このプロセスでは、MyConfig.csファイルもコンパイルする必要があります。

このファイルは、アプリケーション全体で使用されている様々な形でいくつかのプロパティが含まれていると私は必要であれば、それは簡単にがサーバー上のプレーンテキストとして編集することができるように、それはソースコード形式でを残されたいですソリューション/プロジェクトを再構築/再デプロイする必要はありません。

私はファイルのプロパティ、具体的には "Build Action" & "Copy to Output Directory"を "Content"と "Always"、 "Compile"、 "AlwaysFile"、および "AdditionalFiles" "いつも" ...それぞれ。すべて成功なし。私はこの行動を達成するためにどこに変更を加える必要があるかわかりません。

ご協力いただければ幸いです。ありがとう

+1

わかりやすい質問をします。組み込みの構成サブシステムを使用するのではなく、なぜ構成設定を管理するためにソースコードを使用しているのですか?ソースコードにはタイプミスが多いようです。通常の開発をしている日にビルドを何回も壊してしまったと思いますが... IDEの助けを借りて、エラーの強調表示があります。 –

+2

ソースコードをサーバーに組み込んでいる場合は、アプリケーションの一部となることをどのように想定していますか?ユーザーが変更を加えた後、サーバー*でコンパイルします。それはばかげているようだ。それがASP.NETプロジェクトの場合は、他のすべてのアプリケーションと同じように.configファイルを使用するか、settings.jsonファイルを作成します。それがC#に属していないときは、それは愚かです。 – mason

+0

このようなことを行う場合は、Managed Extensibility Framework http://mef.codeplex.com/またはCSharpCodeProviderクラスhttps://msdn.microsoft.com/en-us/library/を参照する必要があります。 microsoft.csharp.csharpcodeprovider.aspx。また、ビルドからファイルを除外する方法:https://msdn.microsoft.com/en-us/library/ms171455.aspx –

答えて

0

ビルドの種類をコンテンツに変更するだけで十分ですが、インテリセンスは必ずしもその変更をキャッチしません。再構築する前にファイルを閉じる必要があります。後で再び開くことができ、エディタでコンパイルしたり、エラーをチェックしたりする必要はありません。

+0

@SCこれを試しましたが、MyConfig.csのプロパティを参照する場合、プロジェクトはクラス/プロパティが存在しない(つまりアセンブリ参照がありません)ということをコンパイルしません。MyConfig.csを使用するファイルには、 "コンテンツ"ビルドアクションにも設定されますか? – B1313

+0

はい、コンパイルしたくない場合もあります。さもなければあなたは矛盾した目標を持っています。そうでない場合は、あなたがやっていることをやっている理由と利用可能なよりよいアプローチに関して、すでに投稿されているコメントのいくつかを検討する必要があります。 –

+0

あなたが気付いているかどうかはわかりませんが、複雑な構成プロパティの種類に合わせて構成ファイルを使用できるように、カスタム構成セクションをモデルにバックアップすることができます。再構築や再パッケージせずにサーバー上でこれを編集することもできます(これは、あなたが話しているapp.configであると仮定してYourApplication.exe.configに変わります)。 –

関連する問題