diff --git a/NzbDrone.Web/Helpers/HtmlIncludeExtentions.cs b/NzbDrone.Web/Helpers/HtmlIncludeExtentions.cs
new file mode 100644
index 000000000..a52492617
--- /dev/null
+++ b/NzbDrone.Web/Helpers/HtmlIncludeExtentions.cs
@@ -0,0 +1,47 @@
+using System;
+using System.IO;
+using System.Linq;
+using System.Web.Mvc;
+using NzbDrone.Common;
+
+namespace NzbDrone.Web.Helpers
+{
+ public static class HtmlIncludeExtentions
+ {
+ private static string _versionString;
+ private static bool _isProduction;
+
+ static HtmlIncludeExtentions()
+ {
+ _versionString = new EnviromentProvider().Version.ToString().Replace('.', '_');
+ _isProduction = EnviromentProvider.IsProduction;
+ }
+
+ public static MvcHtmlString IncludeScript(this HtmlHelper helper, string filename)
+ {
+ var relativePath = "/Scripts/" + filename;
+ VerifyFile(helper, relativePath);
+ return MvcHtmlString.Create(String.Format("", relativePath, _versionString));
+ }
+
+ public static MvcHtmlString IncludeCss(this HtmlHelper helper, string filename)
+ {
+ var relativePath = "/Content/" + filename;
+ VerifyFile(helper, relativePath);
+ return MvcHtmlString.Create(String.Format("", relativePath, _versionString));
+ }
+
+ private static void VerifyFile(HtmlHelper helper, string filename)
+ {
+ if (!_isProduction)
+ {
+ var path = helper.ViewContext.RequestContext.HttpContext.Server.MapPath(filename);
+
+ if (!File.Exists(path))
+ {
+ throw new FileNotFoundException("static file not found " + path, path);
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj
index a702f568a..d55a95896 100644
--- a/NzbDrone.Web/NzbDrone.Web.csproj
+++ b/NzbDrone.Web/NzbDrone.Web.csproj
@@ -218,6 +218,7 @@