2016-10-10 2 views
0

私は4つのMVC5プロジェクトを持っています。それぞれがビジネスセクターをターゲットにしていて、リリーススケジュールが異なります。共通、構造、ルック&フィールを持っています。彼らは皆、同じ溶液に住んで(と彼らは同様に異なる溶液中で生きることができます)と、それらのすべてが同じディレクトリレベルに住ん:MVC5プロジェクトの共通レイアウトとCSS

C:\MySolution\Solution.sln 
C:\MySolution\MyFirstMVCProj\MyFirsMVCtProj.cproj 
... 
C:\MySolution\MyFourthMVCProj\MyFourthMVCProj.cproj 

私はCSSをコンパイルして生成するSASSとがぶ飲みを使用しています。

現在、共通のSASS/CSSが各プロジェクトに「コピー&ペースト」され、_layoutの変更がコピーされて各プロジェクトに貼り付けられます(開発者が覚えていると!!)。

MVC5内に共通のレイアウトとSASS/CSSをプロジェクト外に置いて、重複(したがって人為的なエラー)の問題を回避したり、このエラーの起こりやすいプロセスをさらに改善する方法?

N.B.私はエリアの機能を認識していますが、私たちのビジネスモデルには合いません。

答えて

0

すべての共有プロパティを持つ共通のSASSライブラリを別の場所に保存し、異なる変数をプロジェクトに設定してインポートすることができます。

+0

これには、各csprojファイルに以下を追加する必要があるものの、ビルドにコピーされたファイルを必要十分ではありませんレイアウトページ? – Adam

+0

私はASP.NETで一度も働いたことはありませんが、これはむしろSASSに関する質問だと思います。共有されたSASSを他のプロジェクトの外部に置いて(別々のバージョン管理をしていますか?)、必要に応じてデフォルト変数を上書きしてプロジェクト内のSASSファイルにインポートしてください。 – belipe

+0

'$ your-color-variable:black!default'でSASS内の変数を定義することができます。次に、あなたのプロジェクトで変数を '$ your-color-variable:#123'で上書きすることができます。変数を上書きした後、共有ライブラリを '@import" ../../ my-sass-library/shared-library "'のようなものでインポートします。 – belipe

1

少し遅れて私は知っているが、グーグルグーグルについてはthisを参照してください。私はこれを行い、タイプ "共有プロジェクト"のプロジェクトに自分のcss/jsを保存します。

共有プロジェクトに共通のファイルを保存し、それらをコピー先のプロジェクトに追加するのではなく、既存のアイテムとして追加するのではなく、 「追加」ボタンのメニューから「リンクとして追加」をクリックします。これにより、共有プロジェクト内のファイルへのリンクが生成されます。あなたが与えられたASP.NET MVC環境を詳しく説明し、解決策を記載してください可能性が

<Target Name="CopyLinkedContentFiles" BeforeTargets="Build"> 
    <Copy SourceFiles="%(Content.Identity)" 
      DestinationFiles="%(Content.Link)" 
      SkipUnchangedFiles='true' 
      OverwriteReadOnlyFiles='true' 
      Condition="'%(Content.Link)' != ''" /> 
</Target> 
+0

別のSO答えにリンクするだけではなく、ここで要点を要約できますか?回答は変更または削除されることがありますので、リンクに加えてここに情報を入れる方がよい場合もあります。 –

関連する問題