我的ASP.NET MVC 5应用程序正在使用我的本地IIS(Windows 7),该工作非常有效,直到我不得不开始使用Microsoft.SqlServer.Types NuGet包。因为包具有本机程序集,所以它们必须在运行时进行专业加载。
我遇到的问题是,在我重建应用程序并通过浏览器访问它后,IIS加载并锁定本机程序集。如果我进行更改并再次重建,Visual Studio将失败,并说组件被另一个进程IIS锁定。我发现的唯一工作是在构建之前继续重新启动IIS,这是不切实际的,因为我可能需要在一天内重建数百或数千次,具体取决于我做了多少更改。
有更合适的工作吗?就像告诉Visual Studio不要打扰原生程序集一样?帮助将不胜感激。
以下是我加载程序集的方法:
[assembly: WebActivatorEx.PreApplicationStartMethod(typeof(X.Mvc.App_Start.SqlServerTypesConfiguration), "LoadAssemblies")]
namespace X.Mvc.App_Start {
public static class SqlServerTypesConfiguration {
public static void LoadAssemblies() {
SqlServerTypes.Utilities.LoadNativeAssemblies(System.Web.Hosting.HostingEnvironment.MapPath("~/bin"));
}
}
}
答案 0 :(得分:0)
根据评论 - 我的建议是在解决方案的预构建配置步骤下放置一个iis_reset
命令:
答案 1 :(得分:0)