Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net未部署非引用程序集_Asp.net_.net_Asp.net Mvc_Azure_Deployment - Fatal编程技术网

asp.net未部署非引用程序集

asp.net未部署非引用程序集,asp.net,.net,asp.net-mvc,azure,deployment,Asp.net,.net,Asp.net Mvc,Azure,Deployment,我有一个asp.NETMVC项目,它是azure云项目的一部分。我们把它叫做WebRole WebRole项目依赖于它自己的程序集中的服务接口。让我们称之为服务。这些服务接口的实现位于另一个程序集中,我们可以称之为Services.Implementations WebRole项目与Service.Implementations没有直接的依赖关系,但是IoC容器将把事情映射到一起。问题在于,只要不存在直接引用,Service.implementation就不会部署。既不是本地IIS Expres

我有一个asp.NETMVC项目,它是azure云项目的一部分。我们把它叫做
WebRole

WebRole
项目依赖于它自己的程序集中的服务接口。让我们称之为
服务
。这些服务接口的实现位于另一个程序集中,我们可以称之为
Services.Implementations

WebRole
项目与
Service.Implementations
没有直接的依赖关系,但是IoC容器将把事情映射到一起。问题在于,只要不存在直接引用,
Service.implementation
就不会部署。既不是本地IIS Express,也不是云


我如何判断需要部署
服务.Implementations
项目,而不将其暴露给
WebRole
项目?

整个依赖关系链将始终部署。因此,如果您的代码可能会加载Services.Implementation程序集(因为实例化了一个类、接口等),那么它将被部署。
因此,部署此dll意味着您的代码可能会使用此程序集。如果您不需要,请检查您的类,包括接口实现、继承、名称空间和使用-s。这是一个已知的问题。一个已知的问题,从外观上看应该已经解决了(“我们在一年前检查了一个解决方案”)。不过,这不是100%匹配。看起来它与nuget软件包有关,但这是同一解决方案中的本地项目……我想你误解了。我想部署它。我知道它会被加载。但它失败了,因为它不在那里,因为“整个依赖链”没有部署。可能是因为VS不了解依赖链,因为它的一部分是动态的。。。