在我的asp.net mvc 4解决方案给我这个错误的地方没有:
违反类型的继承安全规则:'System.Web.WebPages.Razor.WebPageRazorHost'.派生类型必须与基本类型的安全可访问性匹配,或者不太容易访问.
我搜索了这个问题,每个人都说当任何人将这个解决方案从一个版本更新到另一个版本时就已经发生了.但我没有更新我的解决方案,只需将IDE从VS12更改为VS13.这是造成问题的原因吗?
完整堆栈跟踪如下:
[TypeLoadException:违反类型的继承安全规则:System.Web.WebPages.Razor.WebPageRazorHost'.派生类型必须要么匹配基本类型的安全性或可访问性不太接近.] System.Web.WebPages.Razor.RazorBuildProvider.get_CodeCompilerType()0 System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider)59系统. Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders()+ 209 System.Web.Compilation.BuildProvidersCompiler.PerformBuild()+30 System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)+9971917 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath) virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile,Boolean throwIfNotFound,Boolean ensureIsUpToDate)+299 System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context,VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile,Boolean throwIfNotFound,Boolean ensureIsUpToDate) +103 System.Web.Compilation.BuildManager.GetVir tualPathObjectFactory(VirtualPath virtualPath,HttpContext context,Boolean allowCrossApp,Boolean throwIfNotFound)+165 System.Web.Compilation.BuildManager.GetObjectFactory(String virtualPath,Boolean throwIfNotFound)+33 System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager. FileExists(String virtualPath)+40 System.Web.Mvc.BuildManagerViewEngine.FileExists(ControllerContext controllerContext,String virtualPath)+54 Microsoft.Web.Mvc.FixedRazorViewEngine.Microsoft.Web.Mvc.IViewEngineProxy.FileExists(ControllerContext controllerContext,String virtualPath)+ 42 Microsoft.Web.Mvc.ViewEngineFixWorker
1.FileExists(ControllerContext controllerContext, String virtualPath) +57 Microsoft.Web.Mvc.<>c__DisplayClass4.<GetPathFromGeneralName>b__0(String path) +66 System.Web.WebPages.DefaultDisplayMode.GetDisplayInfo(HttpContextBase httpContext, String virtualPath, Func2 virtualPathExists)+90 System.Web.WebPages.<> c__DisplayClassb.b__8(IDisplayMode模式)+66 System.Linq.WhereSelectListIterator2.MoveNext() +103 System.Linq.Enumerable.FirstOrDefault(IEnumerable1 source,Func2 predicate) +94 System.Web.WebPages.DisplayModeProvider.GetDisplayInfoForVirtualPath(String virtualPath, HttpContextBase …
如何使用类型没有NO PARAMETER构造函数的容器注册类型.
实际上我的构造函数接受一个字符串,我通常传入一个表示Path的字符串.
所以当我解决它时会自动创建新类型但是传入一个字符串?
我想添加一个,而不是从程序集的引用输出中排除文件!
我有一个控制台应用程序项目(BuildTest1),它引用了第二个类库项目(ClassLibrary1).Visual Studio解决方案如下所示:

我有一个具有app.config的类库项目.我希望将.config文件复制到引用项目的输出中,就像.dll和.pdb文件一样.类库的配置文件作为"ClassLibrary1.dll.config"复制到类库输出目录中
我已经尝试将其添加到.exe项目的.csproj文件中,但它似乎没有任何区别:
<PropertyGroup>
<AllowedReferenceRelatedFileExtensions>
.pdb;
.xml;
.config
</AllowedReferenceRelatedFileExtensions>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud) 我有一个旧表,其中有几行具有日期时间列.我想将其切换到datetimeoffset但我希望能够传输已存在的数据.所以我做的事情如下:
SET IDENTITY_INSERT Table_Temp ON
INSERT INTO Table_Temp
(Col0, ... ColN,)
SELECT
COl0,.... ColN, from
Table_Original;
SET IDENTITY_INSERT Table_Temp OFF
Run Code Online (Sandbox Code Playgroud)
这可以工作,但是当我执行dattime到datetimeoffset赋值时,偏移设置为0.幸运的是,我想要设置的偏移量是当前系统的偏移量.我不是tsql大师,但我似乎无法找到一个简单的方法来做到这一点.
我希望能够在转换中设置偏移量.我打算使用ac#utility(或PowerShell),但我宁愿保持简单.
如何在Powershell中调用自定义类的通用静态方法?
鉴于以下课程:
public class Sample
{
public static string MyMethod<T>( string anArgument )
{
return string.Format( "Generic type is {0} with argument {1}", typeof(T), anArgument );
}
}
Run Code Online (Sandbox Code Playgroud)
这被编译成一个程序集'Classes.dll'并加载到PowerShell中,如下所示:
Add-Type -Path "Classes.dll"
Run Code Online (Sandbox Code Playgroud)
调用MyMethod方法最简单的方法是什么?
我在visual studio 2010中编写单元测试.
为了测试一些功能,我添加了一个带有testfiles的文件夹.
我需要以编程方式获取此文件夹,而不需要字符串中的硬路径.
该文件夹包含在 <projectDirectory>/TestFiles
我试过用AppDomain.CurrentDomain.BaseDirectory.这只有在我用resharper运行我的单元测试时才有效.
结果是<projectDirectory>/bin/debug这样我可以很容易地去TestFiles.
如果我使用visual studio运行测试,BaseDirectory是:
<sameFolderAsSolutionFile>\TestResults\<username>_<pcname> <datatime>\Out
我已将解决方案文件移至另一个文件夹.所以我的项目与我的解决方案文件不在同一个文件夹中.
例:
<sameFolderAsSolutionFile> = C:\SolutionFiles
<projectDirectory> = C:\Projects\MyProject
有人能告诉我如何在不使用硬编码字符串的情况下获取测试文件的路径吗?
编辑
我还没有找到解决方案.
Visual Studio正在使用另一个构建文件夹进行测试.因此,通常构建到bin文件夹中的所有内容都将构建到另一个文件夹中以进行测试.
我的TEMP-SOLUTION
我在我的测试项目中添加了一个App.config文件.在此配置文件中,我添加了一个包含测试文件所需路径的设置:
<appSettings>
<add key="TestFiles" value="C:\Projects\MyProject\TestFiles"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud) 我正在使用StreamWriter输出文本文件,但我想用Lf结束我的WriteLine而不是默认的CrLf.有没有一种简单的方法可以使用StreamWriter中内置的参数来完成此操作?
我现在感觉自己像个白痴,但我会把问题留在这里只是为了笑.这是漫长的一天......
将XML从UTF16转换为UTF8编码文件的最简单方法是什么?
如何从PowerShell获取当前计算机的NetBIOS(又名"简称")域名?
$ ENV:USERDOMAIN显示当前用户的域,但我想要当前计算机所属的域.
我发现你可以在VBScript中很容易地做到这一点,但显然在PowerShell中使用ADSystemInfo并不是很好.
更新
这是我的最终解决方案,其中包含使用Win32_NTDomain的建议,但过滤到当前计算机的域
$wmiDomain = Get-WmiObject Win32_NTDomain -Filter "DnsForestName = '$( (Get-WmiObject Win32_ComputerSystem).Domain)'"
$domain = $wmiDomain.DomainName
Run Code Online (Sandbox Code Playgroud) c# ×3
powershell ×3
xml ×2
.net ×1
directory ×1
exception ×1
generics ×1
msbuild ×1
msbuild-4.0 ×1
mstest ×1
netbios ×1
sql ×1
sql-server ×1
streamwriter ×1
t-sql ×1
text ×1
unit-testing ×1
utf-16 ×1
utf-8 ×1
wix ×1
wix3 ×1
wmi ×1