you should make nopCommerce to be able to run in a partial trust (the usual webhosting configuration).
It is quite easy:
-add <trust level="Medium"/> to the system.web part of web.config
(the solution won't build because of the Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.Configuration.Design.dll library)
-remove the reference to Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.Configuration.Design.dll from Libraries/Nop.DataAccess.SqlServer since it is not needed.
(the solution now should build - if it does not, remove the dll from the NopCommerceWeb/Build folder)
(although the solution builds, it won't start because of the requirePermission issue)
-in the web.config file, add requirePermission="false" to all Nop commerce configSections as follows:
<section name="NopConfig" type="NopSolutions.NopCommerce.Common.Configuration.NopConfig, Nop.Common" requirePermission="false"/>
<section name="urlrewritingnet" requirePermission="false" type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter"/>
<sectionGroup name="nopDataProviders" type="NopSolutions.NopCommerce.DataAccess.Configuration.nopDataProvidersSectionGroup, Nop.DataAccess">
<section name="LogProvider" type="NopSolutions.NopCommerce.DataAccess.Audit.DBLogProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="SearchLogProvider" type="NopSolutions.NopCommerce.DataAccess.Audit.DBSearchLogProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="CategoryProvider" type="NopSolutions.NopCommerce.DataAccess.Categories.DBCategoryProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ProductCategoryProvider" type="NopSolutions.NopCommerce.DataAccess.Categories.DBProductCategoryProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="SettingProvider" type="NopSolutions.NopCommerce.DataAccess.Configuration.Settings.DBSettingProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="BlogCommentProvider" type="NopSolutions.NopCommerce.DataAccess.Content.Blog.DBBlogCommentProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="BlogPostProvider" type="NopSolutions.NopCommerce.DataAccess.Content.Blog.DBBlogPostProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="NewsProvider" type="NopSolutions.NopCommerce.DataAccess.Content.NewsManagement.DBNewsProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="NewsCommentProvider" type="NopSolutions.NopCommerce.DataAccess.Content.NewsManagement.DBNewsCommentProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="PollProvider" type="NopSolutions.NopCommerce.DataAccess.Content.Polls.DBPollProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="PollAnswerProvider" type="NopSolutions.NopCommerce.DataAccess.Content.Polls.DBPollAnswerProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="AddressProvider" type="NopSolutions.NopCommerce.DataAccess.CustomerManagement.DBAddressProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="CustomerProvider" type="NopSolutions.NopCommerce.DataAccess.CustomerManagement.DBCustomerProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="CustomerAttributeProvider" type="NopSolutions.NopCommerce.DataAccess.CustomerManagement.DBCustomerAttributeProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="CustomerRoleProvider" type="NopSolutions.NopCommerce.DataAccess.CustomerManagement.DBCustomerRoleProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="CustomerSessionProvider" type="NopSolutions.NopCommerce.DataAccess.CustomerManagement.DBCustomerSessionProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="CountryProvider" type="NopSolutions.NopCommerce.DataAccess.Directory.DBCountryProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="CurrencyProvider" type="NopSolutions.NopCommerce.DataAccess.Directory.DBCurrencyProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="LanguageProvider" type="NopSolutions.NopCommerce.DataAccess.Directory.DBLanguageProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="StateProvinceProvider" type="NopSolutions.NopCommerce.DataAccess.Directory.DBStateProvinceProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="LocaleStringResourceProvider" type="NopSolutions.NopCommerce.DataAccess.Localization.DBLocaleStringResourceProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ManufacturerProvider" type="NopSolutions.NopCommerce.DataAccess.Manufacturers.DBManufacturerProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ProductManufacturerProvider" type="NopSolutions.NopCommerce.DataAccess.Manufacturers.DBProductManufacturerProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="MeasureDimensionProvider" type="NopSolutions.NopCommerce.DataAccess.Measures.DBMeasureDimensionProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="MeasureWeightProvider" type="NopSolutions.NopCommerce.DataAccess.Measures.DBMeasureWeightProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="DownloadProvider" type="NopSolutions.NopCommerce.DataAccess.Media.DBDownloadProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="PictureProvider" type="NopSolutions.NopCommerce.DataAccess.Media.DBPictureProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="LocalizedMessageTemplateProvider" type="NopSolutions.NopCommerce.DataAccess.Messages.DBLocalizedMessageTemplateProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="MessageTemplateProvider" type="NopSolutions.NopCommerce.DataAccess.Messages.DBMessageTemplateProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="OrderProvider" type="NopSolutions.NopCommerce.DataAccess.Orders.DBOrderProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="OrderNoteProvider" type="NopSolutions.NopCommerce.DataAccess.Orders.DBOrderNoteProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="OrderProductVariantProvider" type="NopSolutions.NopCommerce.DataAccess.Orders.DBOrderProductVariantProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="OrderStatusProvider" type="NopSolutions.NopCommerce.DataAccess.Orders.DBOrderStatusProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ShoppingCartProvider" type="NopSolutions.NopCommerce.DataAccess.Orders.DBShoppingCartProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="CreditCardTypeProvider" type="NopSolutions.NopCommerce.DataAccess.Payment.DBCreditCardTypeProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="PaymentMethodProvider" type="NopSolutions.NopCommerce.DataAccess.Payment.DBPaymentMethodProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="PaymentStatusProvider" type="NopSolutions.NopCommerce.DataAccess.Payment.DBPaymentStatusProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ProductAttributeProvider" type="NopSolutions.NopCommerce.DataAccess.Products.Attributes.DBProductAttributeProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ProductVariantAttributeProvider" type="NopSolutions.NopCommerce.DataAccess.Products.Attributes.DBProductVariantAttributeProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ProductVariantAttributeValueProvider" type="NopSolutions.NopCommerce.DataAccess.Products.Attributes.DBProductVariantAttributeValueProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ProductSpecificationAttributeProvider" type="NopSolutions.NopCommerce.DataAccess.Products.Specs.DBProductSpecificationAttributeProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="SpecificationAttributeProvider" type="NopSolutions.NopCommerce.DataAccess.Products.Specs.DBSpecificationAttributeProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ProductProvider" type="NopSolutions.NopCommerce.DataAccess.Products.DBProductProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ProductPictureProvider" type="NopSolutions.NopCommerce.DataAccess.Products.DBProductPictureProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ProductReviewProvider" type="NopSolutions.NopCommerce.DataAccess.Products.DBProductReviewProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ProductTypeProvider" type="NopSolutions.NopCommerce.DataAccess.Products.DBProductTypeProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ProductVariantProvider" type="NopSolutions.NopCommerce.DataAccess.Products.DBProductVariantProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="RelatedProductProvider" type="NopSolutions.NopCommerce.DataAccess.Products.DBRelatedProductProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="AffiliateProvider" type="NopSolutions.NopCommerce.DataAccess.Promo.Affiliates.DBAffiliateProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="CampaignProvider" type="NopSolutions.NopCommerce.DataAccess.Promo.Campaigns.DBCampaignProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="DiscountProvider" type="NopSolutions.NopCommerce.DataAccess.Promo.Discounts.DBDiscountProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="DiscountRequirementProvider" type="NopSolutions.NopCommerce.DataAccess.Promo.Discounts.DBDiscountRequirementProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="DiscountTypeProvider" type="NopSolutions.NopCommerce.DataAccess.Promo.Discounts.DBDiscountTypeProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ShippingByTotalProvider" type="NopSolutions.NopCommerce.DataAccess.Shipping.DBShippingByTotalProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ShippingByWeightProvider" type="NopSolutions.NopCommerce.DataAccess.Shipping.DBShippingByWeightProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ShippingByWeightAndCountryProvider" type="NopSolutions.NopCommerce.DataAccess.Shipping.DBShippingByWeightAndCountryProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ShippingMethodProvider" type="NopSolutions.NopCommerce.DataAccess.Shipping.DBShippingMethodProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ShippingRateComputationMethodProvider" type="NopSolutions.NopCommerce.DataAccess.Shipping.DBShippingRateComputationMethodProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ShippingStatusProvider" type="NopSolutions.NopCommerce.DataAccess.Shipping.DBShippingStatusProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="TaxByCountryProvider" type="NopSolutions.NopCommerce.DataAccess.Tax.DBTaxByCountryProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="TaxByStateProvinceProvider" type="NopSolutions.NopCommerce.DataAccess.Tax.DBTaxByStateProvinceProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="TaxCategoryProvider" type="NopSolutions.NopCommerce.DataAccess.Tax.DBTaxCategoryProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="TaxProviderProvider" type="NopSolutions.NopCommerce.DataAccess.Tax.DBTaxProviderProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="CategoryTemplateProvider" type="NopSolutions.NopCommerce.DataAccess.Templates.DBCategoryTemplateProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ManufacturerTemplateProvider" type="NopSolutions.NopCommerce.DataAccess.Templates.DBManufacturerTemplateProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="ProductTemplateProvider" type="NopSolutions.NopCommerce.DataAccess.Templates.DBProductTemplateProviderSection, Nop.DataAccess" requirePermission="false"/>
<section name="WarehouseProvider" type="NopSolutions.NopCommerce.DataAccess.Warehouses.DBWarehouseProviderSection, Nop.DataAccess" requirePermission="false"/>
</sectionGroup>
Enjoy NopCommerce in partial trust!
Gius
PS. Do not forget to remove the <trust level="Medium"/> line from web.config before uploading to a partial trust hosting environment.