Dar*_*qer 12 c# 64-bit sgen visual-studio
我和vs2008有ws2008 x64.
当我将我的vs设置为x64(因为我有64位dll)并运行编译sgen说
尝试加载格式不正确的程序集
来自C:\ Program Files\Microsoft SDKs\Windows\v6.0A\bin \的VS takse sgen
我认为它应该从C:\ Program Files\Microsoft SDKs\Windows\v6.0A\bin\x64 \
当我使用64位版本的sgen并将其放入C:\ Program Files\Microsoft SDKs\Windows\v6.0A\bin \(替换32位版本).我能够编译.
我该怎么做才能指出正确的sgen版本
我可以以某种方式为一个项目配置solutinon平台以指向正确的sgens(对于x86到32位和x64到64位sgen版本)?
这是我能找到的最佳答案:Conditional Post-Build Event Command for x64 sgen , Michael Hanes的博客文章。
使用构建后事件,有条件地检查是否安装了 64 位 SGEN,并在需要时使用它:
REM Use the 64-bit sgen from the Win 2008 and
REM .NET 3.5 SDK in a 64-bit dev environment
REM ProgramFiles variable is set to
REM 'Program Files (x86)' in a x64 environment
REM Processor_Architecture variable returns x86
REM in both an x86 and x64 environment within VS.
if /I "%ProgramFiles%" == "C:\Program Files" (
set SgenToolPath="C:\Program Files\Microsoft
SDKs\Windows\v6.0A\Bin\sgen.exe"
) else (
set SgenToolPath="C:\Program Files\Microsoft
SDKs\Windows\v6.1\Bin\x64\sgen.exe"
)
%SgenToolPath% /compiler:"\"/keyfile:$(ProjectDir)
MyKeyFile.snk"\" /force "$(TargetPath)"
Run Code Online (Sandbox Code Playgroud)
这旨在替代给定 Visual Studio 项目的“生成序列化程序集”下拉设置“打开”。
| 归档时间: |
|
| 查看次数: |
5146 次 |
| 最近记录: |