【发布时间】:2016-06-25 01:53:16
【问题描述】:
我想访问 MS Test Project 中的 sitecore 上下文。 我正在使用 Sitecore 8.1 和使用 VS 2005 的 MS 测试项目(框架:4.5.2) 我遵循了这里的一些说明http://getfishtank.ca/blog/unit-testing-in-sitecore-with-context-and-app-config
所以我的单元测试项目中有所有必需的 DLLS 和 sitecore 配置文件。
我的代码如下:
[TestMethod]
public void TestMethod1()
{
State.HttpRuntime.AppDomainAppPath = Directory.GetCurrentDirectory();
string dataFolder = Sitecore.Configuration.Settings.DataFolder;
string licenseFile = Settings.LicenseFile;
var db = Sitecore.Configuration.Factory.GetDatabase("master");
var home = db.GetItem("/sitecore/content/");
Assert.AreEqual(5, 5);
}
现在我收到以下错误:
Result StackTrace:
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at Sitecore.Reflection.ReflectionUtil.LoadAssembly(String name)
at Sitecore.Reflection.ReflectionUtil.CreateObject(String assembly, String className, Object[] parameters)
at Sitecore.Reflection.ReflectionUtil.CreateObject(String typeName, Object[] parameters)
at Sitecore.Reflection.Nexus.GetApi[T](String typeName, T& api)
at Sitecore.SecurityModel.License.LicenseManager.GetSnapshotData(Guid instance)
at Sitecore.SecurityModel.License.LicenseManager.UpdateSnapshot()
at Sitecore.SecurityModel.License.LicenseManager..cctor()
--- End of inner exception stack trace ---
at Sitecore.SecurityModel.License.LicenseManager.DemandRuntime(Boolean acceptExpress)
at Sitecore.Data.Managers.ItemManager.get_Provider()
at Sitecore.Data.Managers.ItemManager.GetItem(String itemPath, Language language, Version version, Database database)
at Sitecore.Data.Database.GetItem(String path)
at MSUnitTestSitecore.UnitTest1.TestMethod1() in C:\Devarea_Debajit\MyProjects\MSUnitTestSitecore\MSUnitTestSitecore\UnitTest1.cs:line 20
Result Message:
Test method MSUnitTestSitecore.UnitTest1.TestMethod1 threw exception:
System.TypeInitializationException: The type initializer for 'Sitecore.SecurityModel.License.LicenseManager' threw an exception. ---> System.IO.FileLoadException: Could not load file or assembly 'file:///C:\Devarea_Debajit\MyProjects\MSUnitTestSitecore\MSUnitTestSitecore\bin\Debug\Sitecore.Nexus.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515) ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.
我已检查许可证文件路径及其正确性。 我也加了这个
<runtime>
<loadFromRemoteSources enabled="true"/>
</runtime>
谁能帮帮我?
【问题讨论】:
标签: c# unit-testing sitecore sitecore8