นอกเหนือจากตัวเลือกที่กล่าวถึงข้างต้นแล้วยังมีโซลูชันอื่น ๆ อีกสองสามวิธี
1. การแก้ไขไฟล์โปรเจ็กต์ไฟล์ (.CsProj)
MSBuild สนับสนุนEnvironmentName
คุณสมบัติซึ่งสามารถช่วยในการตั้งค่าตัวแปรสภาพแวดล้อมที่เหมาะสมตามสภาพแวดล้อมที่คุณต้องการปรับใช้ ชื่อสภาพแวดล้อมจะถูกเพิ่มใน web.config ระหว่างเฟสการเผยแพร่
เพียงเปิดไฟล์โครงการ (* .csProj) และเพิ่ม XML ต่อไปนี้
<!-- Custom Property Group added to add the Environment name during publish
The EnvironmentName property is used during the publish for the Environment variable in web.config
-->
<PropertyGroup Condition=" '$(Configuration)' == '' Or '$(Configuration)' == 'Debug'">
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' != '' AND '$(Configuration)' != 'Debug' ">
<EnvironmentName>Production</EnvironmentName>
</PropertyGroup>
โค้ดด้านบนจะเพิ่มชื่อสภาพแวดล้อมDevelopment
สำหรับการกำหนดค่าการดีบักหรือหากไม่มีการระบุการกำหนดค่า สำหรับการกำหนดค่าอื่น ๆ ชื่อสภาพแวดล้อมจะอยู่Production
ในไฟล์ web.config ที่สร้างขึ้น รายละเอียดเพิ่มเติมที่นี่
2. การเพิ่มคุณสมบัติ EnvironmentName ในโปรไฟล์การเผยแพร่
เราสามารถเพิ่ม<EnvironmentName>
คุณสมบัติในโปรไฟล์การเผยแพร่ได้เช่นกัน เปิดไฟล์โพรไฟล์การเผยแพร่ซึ่งอยู่ที่ส่วนProperties/PublishProfiles/{profilename.pubxml}
นี้จะตั้งชื่อสภาพแวดล้อมใน web.config เมื่อมีการเผยแพร่โครงการ รายละเอียดเพิ่มเติมที่นี่
<PropertyGroup>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
3. ตัวเลือกบรรทัดคำสั่งโดยใช้ dotnet published
นอกจากนี้เราสามารถส่งคุณสมบัติEnvironmentName
เป็นตัวเลือกบรรทัดคำสั่งไปยังdotnet publish
คำสั่ง คำสั่งต่อไปนี้จะรวมตัวแปรสภาพแวดล้อมเช่นเดียวกับDevelopment
ในไฟล์ web.config
dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development